Это то, что мои данные кадр выглядит следующим образом:наклеивая все предыдущие элементы столбца как из строки с наибольшим количеством очков
library(data.table)
dt <- fread('
Product Score Description
A 1 aapl
A 2 banana
A 3 orange
B 1 coke
B 2 pepsi
C 1 butter
D 1 milk
')
Я пытаюсь получить максимальный балл каждого продукта и сцепить все Описания до этой строки с максимальным счетом, поэтому результат выглядит следующим образом:
Product Score(Max) Description2
A 3 aapl;banana;orange
B 2 coke;pepsi
C 1 butter
D 1 milk
Я попытался
dt[,Description2 := as.character(ifelse(!max(Score),NA,paste(shift(Description,1),
Description,sep=";"))),by=Product]
Ваша помощь приветствуется!
Спасибо за ваш ответ! Какова цель периода infront продукта, например. (Product)? – gibbz00
@ gibbz00 В этом нет необходимости. Вы можете просто использовать 'by = Product'. Но я использовал это для общего назначения, если у вас более одной переменной группировки. Это иначе 'by = list (Product)' – akrun