这个问题的标题可能有些混乱,所以让我给出更多细节。如果我的术语有缺陷,我事先表示歉意。这是我的数据框示例
a b c d e
1 4 2 7 8
2 4 3 7 1
4 3 5 9 3
所以我想做的是使每一列成为自己的数据集。我知道您可以做类似a <- df[c(1)] b <- df[c(2)]
之类的事情。我的实际数据帧有成千上万的列,因此必须输入来会很烦人。我想知道是否有更快的方法?理想情况下,我希望新数据集具有与列相同的名称,但我不确定如何执行此操作。我知道会有成千上万的数据集,但是我有一台可以处理的数据集
答案 0 :(得分:1)
您可以使用list2env
,但请三思而后行,可能最好使结构保持结构化:
df <- head(iris)
list2env(df,envir = .GlobalEnv)
Species
# [1] setosa setosa setosa setosa setosa setosa
# Levels: setosa versicolor virginica
或者将它们保留为一列数据。
list2env(setNames(lapply(names(df), function(x) df[x]),names(df)),
envir = .GlobalEnv)
Species
# Species
# 1 setosa
# 2 setosa
# 3 setosa
# 4 setosa
# 5 setosa
# 6 setosa