Я пытаюсь создать набор данных из исходного фрейма данных (в коде R или Excel VBA), и я пытаюсь создать другой столбец. Вот ситуация высокого уровня:R/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)
)
Из второй колонны, В является «лидером» из обеих групп «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 месяцев на курсе Applied Econometrics, и теперь я нуждаюсь в он снова (9months позже), поэтому, пожалуйста, прости меня, если я, кажется, как новичок ... Я могу запустить регрессии просто отлично, хотя :)
* 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 или таблицу, чтобы я мог смотреть на нее как на таблицу?
Благодарим вас за помощь.
G в ваших данных отсутствует. – Henry
Прочтите краткие сведения о проблемах с split-apply-comb. http://4dpiecharts.com/2011/12/16/a-quick-primer-on-split-apply-combine-problems/ –
@ Генри, спасибо вам за G, я решил сделать его «B» последним, минута, чтобы подчеркнуть, что категории X & Y могут иметь много перекрывающихся областей (ссылка A, B..etc) @Roman, к сожалению, я все еще пытаюсь написать псевдокод и обернуть вокруг него свой разум. Я еще не написал код. – Dman