我知道split命令是将df转换为df对象列表的最简单方法,但是如何将它们分配给不同的(分离的)数据帧呢?
df.List <- split(df, df$column)
答案 0 :(得分:4)
查看函数list2env
。尝试:
list2env(split(df, df$column), envir = .GlobalEnv)
答案 1 :(得分:1)
我的解决方案(使用虹膜数据集的示例)
双向:
list_df <- split(iris, iris$Species) #split the dataset into a list of datasets based on the value of iris$Species
list2env(list_DF, envir= .GlobalEnv) #split the list into separate datasets
单步:
list2env(split(iris, iris$Species), envir = .GlobalEnv)
或者您可以使用for
循环为新数据集分配自定义名称:
iris_split <- split(iris, iris$Species)
new_names <- c("one", "two", "three")
for (i in 1:length(iris_split)) {
assign(new_names[i], iris_split[[i]])