如何使用拆分创建不同的数据帧

时间:2013-09-13 07:51:31

标签: r

我知道split命令是将df转换为df对象列表的最简单方法,但是如何将它们分配给不同的(分离的)数据帧呢?

df.List <- split(df, df$column)

2 个答案:

答案 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]])