我有一个包含列的数据集:
A1,B1,C1,A2,B2,C2 ......,A100,B100,C100。
我想创建多个数据帧:data1 = cbind(A1,B1,C1),data2 = cbind(A2,B2,C3)......
我的伪代码:
For i from 1 to 100 {
Data[i]= cbind(A[i],B[i],C1[i])
}
我认为使用[i]来表示列是错误的。
我怎样才能使用循环创建多个数据帧?谢谢!
答案 0 :(得分:2)
您可以使用split.default
来做到这一点,即
set.seed(666)
df <- data.frame(A1 = sample(5, 5), A2 = sample(5, 5),
B1 = sample(5, 5), B2 = sample(5, 5),
stringsAsFactors = FALSE)
split.default(df, gsub('\\D+', '', names(df)))
给出,
$`1` A1 B1 1 4 4 2 1 1 3 3 5 4 5 3 5 2 2 $`2` A2 B2 1 4 5 2 5 1 3 2 3 4 1 4 5 3 2