r - 如何在R中提取列以生成多个数据框?

标签 r extract

我需要帮助来完成一项简单的任务。 我有一个 28x52 的数据框,我想制作几个数据框并重命名每个数据框。所以它会变成13个28x4的数据帧。我知道这可能涉及 for 循环,所以我尝试了:

for(i in seq(1,52,4)){
  i <- data[,i:i+3]
} 

但是没有成功。

最佳答案

这是针对 3x9 源 data.frame 的一种方法,我们希望将其子集化为 3 个 3x3 data.frame

m <- data.frame(matrix(1:27, ncol = 9))
lapply(split(sequence(ncol(m)), rep(1:3, each = 3)), function(x) m[, x])
# $`1`
#   X1 X2 X3
# 1  1  4  7
# 2  2  5  8
# 3  3  6  9
# 
# $`2`
#   X4 X5 X6
# 1 10 13 16
# 2 11 14 17
# 3 12 15 18
# 
# $`3`
#   X7 X8 X9
# 1 19 22 25
# 2 20 23 26
# 3 21 24 27

创建要提取的列序列,并创建 data.frame列表

因此,应用于复制数据结构的内容时,您可以使用:

m <- data.frame(matrix(1:(28*52), ncol = 52))
lapply(split(sequence(ncol(m)), rep(1:(52/4), each = 4)), function(x) m[, x])

关于r - 如何在R中提取列以生成多个数据框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20392593/

相关文章:

r - 动态显示仪表板页面

c++ - 从 C 代码中调用 R 脚本

c# - 在 C# 中使用 winrar.exe 提取存档并检测是否发生任何错误

php - 如何从 url 获取 Facebook 页面用户名或 facebook 页面 ID

c++ - 如何将多项式的系数和指数提取为字符串

r - 光滑的2D表面

r - 带有严重偏斜数据的 ggplot stat_bin2d 图

r - 在 dplyr 中,是否有更简洁的方法来过滤包含大于或小于数字的列?

r - 为 "["的参数征求类比

python - 如何将 pandas 数据框转换为 .tde?