data.frame中的子集列创建了许多向量

时间:2017-11-06 18:28:22

标签: r for-loop dataframe subset

我有data.frame 11060x9(r x c)

我正在尝试将所有这9列分组,以创建9个独立的向量,称为" ST [i]"。 我知道我可以打字输入

ST1 <- df[ ,1]
ST2 <- df[ ,2]
...
ST9 <- df[ ,9]

虽然,我想知道一种简化的方法,如下:

for(i in 1:ncol(df)){
  ST[i] <- df[ , i]
  }

但是出现了以下信息:

  

&#34; ST [i]&lt; - df [,i]中的错误:对象&#39; ST&#39;找不到&#34;

如何解决?

1 个答案:

答案 0 :(得分:-5)

我将如何做到这一点:

x <- data.frame(NA, NA, NA, NA, NA, NA, NA, NA, NA)
names <- as.character(rep(NA, ncol(x)))

for (i in 1:ncol(x)) {
  names[i] <- paste('ST', i, sep = "")
  assign(names[i], as.data.frame(x[,i], col.names = ""))
}
当您想要创建多个矢量/数据帧时,

assign()是一个非常有用的功能。