我有一个包含 131 列的 data.frame
。我需要将其分成大约 10 到 15 个变量的组(即按列拆分,而不是按行拆分!)。显然,由于 131 是质数,因此并非所有新数据帧的长度都可以相同......
我在帖子中寻找答案
- How to cut data in even pieces in R?
- Split a vector into chunks in R
- Splitting a large vector into intervals in R
但他们似乎都假设新数据帧的大小相同。
编辑 感谢下面的评论,我将尽力澄清:
我的数据框看起来像这样
head(trainData)
ID drop_vce_Range drop_dat_Range blck_vce_Range blck_dat_Range
48550 high low high low
30965 low low high high
40501 low low med low
41771 med low low low
42138 med low low low
42975 high low low low
此数据框有 131 列。我希望在我的 globalenv
中包含多个数据框,例如名称为“Training_Part_1”、“Training_Part_2”等的数据框。每个新的 data.frame 都应包含旧 data.frame 的大约 15 列。
最佳答案
这将创建一个数据框列表,该列表是通过将内置数据框 anscombe
的 8 列切割成 3 个不相等的集合而形成的:
k <- 3
nc <- ncol(anscombe)
lapply(split(as.list(anscombe), cut(1:nc, k, labels = FALSE)), as.data.frame)
关于R:当列数为素数时分割数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29011315/