【发布时间】:2015-06-20 00:25:25
【问题描述】:
我试图在 for 循环中对数据帧进行子集化以创建更小的 data.frame。这是我的data.frame
day rain in mm temperature in °C season
1 201 20 summer
2 156 18 summer
3 56 -4 winter
4 98 15 spring
我想为每个季节(包含所有列)提取一个 data.frame。这是我的代码:
for (season in seasons){
a<- weather[which(weather$season %in% season[1]) , ,drop=TRUE]
...
}
很遗憾,子设置不起作用。当我使用
a<- weather[which(weather$season %in% "summer") , ,drop=TRUE] 它运行良好。这也不能正常工作:
season <- "summer"
a<- weather[which(weather$season %in% season[1]) , ,drop=TRUE]
有人发现我的代码有问题吗?谢谢。
【问题讨论】:
-
试试
split(weather, weather$season)。最好将所有数据集保存在一个列表中,而不是将它们分散到全球环境中。
标签: r for-loop dataframe subset