r - 以固定间隔将一列分成多行

标签 r split rows

这个问题在这里已经有了答案:





Convert Vector to Matrix without Recycling

(2 个回答)


2年前关闭。




我在 csv 文件中有一列数字,我想定期打破该列并将它们转换为多行。例如:

虚拟输入文件:

10
25  
09
04
14
100
01
10
100
04
04
01
04

预期输出(以 3 的规则间隔中断):
10 25 09 
04 14 100
01 10 100
04 04 01
04

我正在尝试在 中执行此操作R 通过使用 for循环但没有成功。我没有得到所需的输出,但在一列中也有超过 1000 万个这样的点。所以我不确定使用循环是否是一种有效的方法。我用谷歌搜索并在 stackexchange 上看到了其他类似的查询,如 split string at regular intervalsHow to split a string into substrings of a given length? .但这并没有解决我的问题。

尽管如此,对此的任何帮助表示赞赏。

最佳答案

这是一个基本的 R 选项。我们可以用 NA 填充您的输入向量/列使其长度变为三的倍数。然后,为三列中的每一列生成索引系列,并创建所需的数据框。

rem <- length(input) %% 3
input <- c(input, rep(NA, ifelse(rem == 0, 0, 3 - rem)))
idx1 <- seq(1, length(input), 3)
idx2 <- seq(2, length(input), 3)
idx3 <- seq(3, length(input), 3)

df <- data.frame(v1=input[idx1], v2=input[idx2], v3=input[idx3])

关于r - 以固定间隔将一列分成多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53331691/

相关文章:

r - windows下为多用户设置R_USER

r - 使用自定义名称转置/ reshape

python - 正则表达式 (Python) - 删除以分隔符开头的行并保留其他分隔符

c - ORA-01795: 列表中表达式的最大数量为 1000 ,如何拆分字符串

python - 使用 excel 值在 python 中执行计算

r - 如何识别 R 中所有列具有相同值的行号?

r - 分组匹配

python - 拆分多个文件 tkinter 框架

swift - 根据优先级在 Tableview 中自动排列行 - Swift 3/4

r - 如何将行追加到 R 数据框