Я пытаюсь создать цикл for, который подмножает фрейм данных. Вот данные:
df1 <- data.frame(
Number = c(45,62,27,34,37,55,40),
Day = c("Mon", "Tues", "Wed", "Thurs", "Fri", "Sat", "Sun"),
Time = c("1pm", "4pm", "3pm", "2pm", "4pm", "1pm", "2pm"),
City = c("Chicago", "New York", "LA", "Miami", "San Diego", "Austin", "Dallas"))
Функция, которую я пытаюсь:
allNames<-variable.names(df1)
for (i in allNames){
if(any(variable.names(df1)== i)){
i <- df1[,c(i)]
}
}
В основном я пытаюсь подмножить файл данных, чтобы конечным результатом было 4 набора данных, каждый с одной переменной из df1, и каждый подмножество набора данных будет называться переменной, которую он представляет. Это будет выглядеть так для каждой переменной из df1
Number
1 45
2 62
3 27
4 34
5 37
6 55
7 40
Day
1 Mon
2 Tues
3 Wed
4 Thurs
5 Fri
6 Sat
7 Sun
Спасибо!
sapply(..., simplify=FALSE)
, чтобы он сохранял имена. И затем вы можете еще больше упростить все выражение какas.list(df1)
, потому что это все, что происходит (просто изменение класса сdata.frame
наlist
, почти без операции). Что опровергает первоначальный вопрос: почему? 05.04.2018df1[,c(i), drop = FALSE]
, чтобы сохранить фрейм данных. 05.04.2018