Я пытаюсь создать набор данных из исходного кадра данных (в коде R или Excel VBA) и пытаюсь создать другой столбец. Вот ситуация высокого уровня:
dfr <- data.frame(
grp = rep(c("X", "Y"), each = 4),
id = c("A", "B", "C", "D", "E", "A", "B", "F"),
value = c(3, 7, 2, 4, 8, 9, 11, 2)
)
Во втором столбце B является «лидером» обеих групп «X» и «Y», поскольку у него самые большие цифры. Таким образом, мне нужно соединить все наблюдения и другие наблюдения в соответствующих группах (X, Y) с этими лидерами. Например, пример вывода ниже того, что мне нужно:
X B A 3
X B C 2
X B D 4
Y B E 8
Y B A 9
Y B F 2
Число в самом дальнем столбце соответствует номеру ранее найденной точки данных.
Итак, мне нужна помощь в распределении данных между X и Y (для бесчисленных существующих групп строк) и впоследствии, сортировка их так, как мне нужно, и создание этого столбца, либо в R-коде, либо в VBA для Excel ( данные в формате CSV)
** Отказ от ответственности: Если это не очевидно, мое использование R очень ограничено - я использовал его в течение 4 месяцев в курсе прикладной эконометрики, и теперь я снова нуждаюсь в нем (спустя 9 месяцев), поэтому, пожалуйста, извините, если я выгляжу как новичок ... хотя я могу отлично проводить регрессии:)
* UPDATE
Следуя кодексу Генри, я сейчас здесь.
data <- read.csv(file = "sort.csv", h=T)
attach(data)
sorted <- data[order(data$membernumber, -data$dailycirc),]
top <- function(df){ return(df[1,])}
moded <- unsplit(lapply(split(sorted, sorted$membernumber), top), unique(sorted$membernumber))[1:2]
names(moded) <- c("membernumber", "cnty")
merged <- merge(moded, data, by="membernumber")
merged[merged$cnty != merged$cnty, ]
summary(merged)
Это действительно дало мне некоторые результаты. Но я не вижу такого рода, просто сводная статистика таких вещей, как среднее / максимальное. Как мне на самом деле экспортировать это в CSV или электронную таблицу, чтобы я мог смотреть на нее как на таблицу?
Большое спасибо за вашу помощь.