У меня есть список (xlist
) пустых информационных кадров x0:x10
. У меня также есть заполненный dataframe y
(около 13 000 строк). Все кадры данных имеют количество столбцов и заголовков столбцов.Добавление строк в dataframes в список
y Date Time Correct Incorrect Average Score EC E1? E2? E3?
[1] 10/1 1:14 8 2 15 80 0 y n y
[2] 10/2 8:45 5 5 12 50 1 n y y
Я пытаюсь скопировать каждую строку y
в один из dataframes в xlist
.
for (i in 1:nrow(y)) {
xlist(paste0("x",y[i,3])) <- rbind(xlist(paste0("x",y[i,3])), y[i,]))
}
В основном, на основе числа в «правильной» колонке, я хочу, чтобы скопировать эту строку в соответствующий dataframe в xlist
(так что первый ряд к x8
, второй x5
).
Проблема со списком dataframes является то, что он не читает их как dataframes здесь
> class(xlist[x1])
[1] "list"
но в панели окружения
xlist list of 11
x0: 'data.frame' 0 obs of 10 variables:
..$ etc
x1: 'data.frame' 0 obs of 10 variables:
..$ etc
etc
Использование кода копирования выше броски «количество заменяемые элементы не являются кратными длине замены ». Несколько переписаний получили «количество столбцов аргументов не совпадают» (не уверен, как). Так что я попытался создать свою собственную функцию AddRow, чтобы увидеть, если rbind
был вопрос:
AddRow <- function(DF,NewRow) {
DF[nrow(DF) + 1] <- NewRow
DF
}
но он бросает «неправильные # индексов в матрице» ошибке.
Как я могу скопировать все строки y
в соответствующие фреймы данных в пределах xlist
?
'split (y, y $ Correct)' разделит кадр данных 'y' на список фреймов данных, каждый с отдельным значением' Correct'. –