我的数据集大概可以用iris来类比,请看下面代码:
# 数据集 iris 中,变量 Species 有三个值: setosa, versicolor, virginica
head(iris)
levels(iris$Species)
# 我想根据这个变量的值, 从 iris 取出三个数据集,
# 数据集名称是 Species 的三个 level ,数据集的内容是包含该 species 的观测值,
# 像这样:
setosa <- iris %>% filter(Species == 'setosa')
versicolor <- iris %>% filter(Species == 'versicolor')
virginica <- iris %>% filter(Species == 'virginica')
# 请问这个过程能通过循环实现吗?
# 我尝试了以下代码,但是只生成了一个名为i的数据集,里面数据只有品种为 virginica 的观测值
spec <- c("setosa", "versicolor", "virginica")
for(i in spec){
i <- iris %>% filter(Species == paste0(i))
}
感谢!