给定数据框
A <- c("One", "Two", "Three")
B <- c(1,2,3)
C <- c(1,1,1)
df <- data.frame(A,B,C)
我想生成一个数据框列表,看起来像下面的例子
A
One
Two
Three
A B
One 1
Two 2
Three 3
A B C
One 1 1
Two 2 1
Three 3 1
我正在处理一个包含~50列的数据帧。我尝试了几次尝试,但收效甚微。
谢谢!
答案 0 :(得分:1)
我们可以使用saaply
使用seq
选择增量列。
sapply(seq(ncol(df)), function(x) df[seq(x)])
#[[1]]
# A
#1 One
#2 Two
#3 Three
#[[2]]
# A B
#1 One 1
#2 Two 2
#3 Three 3
#[[3]]
# A B C
#1 One 1 1
#2 Two 2 1
#3 Three 3 1
答案 1 :(得分:0)
您可以像这样使用标准循环:
A <- c("One", "Two", "Three")
B <- c(1,2,3)
C <- c(1,1,1)
df <- data.frame(A,B,C)
dfList = list()
for(i in 1:ncol(df)){
dfSub <- data.frame(df[,1:i])
dfList[[i]] <- dfSub
}
dfList
[[1]]
df...1.i.
1 One
2 Two
3 Three
[[2]]
A B
1 One 1
2 Two 2
3 Three 3
[[3]]
A B C
1 One 1 1
2 Two 2 1
3 Three 3 1