R将数据帧的每一行分成两行

just_rookie

我想将数据帧的每行(数字)分成两行。例如,像这样的原始数据帧的一部分(nrow(original datafram)> 2800000):

ID X Y Z value_1 value_2
1  3 2 6     22       54
6 11 5 9     52       71
3  7 2 5      2       34
5 10 7 1     23       47

在拆分每一行之后,我们可以获得:

ID  X  Y  Z  
1   3  2  6  
22 54 NA NA  
6  11  5  9  
52 71 NA NA  
3   7  2  5  
2  34 NA NA  
5  10  7  1  
23 47 NA NA  

“ value_1”和“ value_2”列被拆分,并且每个元素都设置为新行。例如,将value_1 = 22和value_2 = 54设置为新行。

阿克伦

这是的一种选择data.table通过创建一列行名(setDT(df1, keep.rownames = TRUE)),我们将“ data.frame”转换为“ data.table” 用行号('rn')子集化列1:51, 6, 7元素listrbindlist元素带有fill = TRUE选项以针对在数据集中之一中未找到的对应列返回NA,并将行号列order分配(:=)为'NULL'。

library(data.table)
setDT(df1, keep.rownames = TRUE)[]
rbindlist(list(df1[, 1:5, with = FALSE], setnames(df1[, c(1, 6:7),
   with = FALSE], 2:3, c("ID", "X"))), fill = TRUE)[order(rn)][, rn:= NULL][]
#    ID  X  Y  Z
#1:  1  3  2  6
#2: 22 54 NA NA
#3:  6 11  5  9
#4: 52 71 NA NA
#5:  3  7  2  5
#6:  2 34 NA NA
#7:  5 10  7  1
#8: 23 47 NA NA

hadleyverse对应于上述逻辑将是

library(dplyr)
tibble::rownames_to_column(df1[1:4]) %>% 
         bind_rows(., setNames(tibble::rownames_to_column(df1[5:6]), 
                         c("rowname", "ID", "X"))) %>% 
         arrange(rowname) %>% 
         select(-rowname)
#   ID  X  Y  Z
#1  1  3  2  6
#2 22 54 NA NA
#3  6 11  5  9
#4 52 71 NA NA
#5  3  7  2  5
#6  2 34 NA NA
#7  5 10  7  1
#8 23 47 NA NA

数据

df1 <- structure(list(ID = c(1L, 6L, 3L, 5L), X = c(3L, 11L, 7L, 10L
), Y = c(2L, 5L, 2L, 7L), Z = c(6L, 9L, 5L, 1L), value_1 = c(22L, 
52L, 2L, 23L), value_2 = c(54L, 71L, 34L, 47L)), .Names = c("ID", 
"X", "Y", "Z", "value_1", "value_2"), class = "data.frame",
 row.names = c(NA, -4L))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

字幕-将行分成两行而不是一行-CSS

来自分类Dev

将文件中的每两行粘贴为一行BASH

来自分类Dev

合并两个R数据帧并标识每一行的源

来自分类Dev

SQL查询将两行合并为一行数据

来自分类Dev

将工作表1中的每一行复制到工作表2中的两行中

来自分类Dev

如何将数据帧1的每一行与数据帧2的每一行进行比较?

来自分类Dev

将L形分成两行

来自分类Dev

如何将数据帧的每个元素乘以R中每一行的元素总和?

来自分类Dev

将自定义函数应用于R中数据帧中每一行的两列

来自分类Dev

在R中,对两个匹配数据帧的每一行进行排序

来自分类Dev

在R中的时间序列数据中的每一行中创建最后两行具有最大值的不同列

来自分类Dev

将向量减去到数据帧的每一行

来自分类Dev

MySQL:将两行合并为一行?

来自分类Dev

R组合数据帧的前两行的字符

来自分类Dev

如何将数据帧的两行合并为一行?

来自分类Dev

熊猫将一行的值分为两行

来自分类Dev

熊猫中数据帧的两行标题到一行标题

来自分类Dev

SQL查询将两行合并为一行数据

来自分类Dev

在R中打印合并数据帧的每一行

来自分类Dev

perl将每两行合并为一个文件中的一行

来自分类Dev

使用一行中的数据选择两行

来自分类Dev

如何将数据帧1的每一行与数据帧2的每一行进行比较?

来自分类Dev

R为每一行计算并添加两个数据帧单元的增量

来自分类Dev

R将数据帧的每一行分成两行

来自分类Dev

R-每两行相加,然后除以该行的第一行

来自分类Dev

将两行合并成一行mysql

来自分类Dev

需要分裂; 将数据分成不同的行,然后获取每一行的计数

来自分类Dev

R - 将函数应用于数据帧的每一行,函数的参数是来自每一行的值

来自分类Dev

将两行的部分提取为一行

Related 相关文章

  1. 1

    字幕-将行分成两行而不是一行-CSS

  2. 2

    将文件中的每两行粘贴为一行BASH

  3. 3

    合并两个R数据帧并标识每一行的源

  4. 4

    SQL查询将两行合并为一行数据

  5. 5

    将工作表1中的每一行复制到工作表2中的两行中

  6. 6

    如何将数据帧1的每一行与数据帧2的每一行进行比较?

  7. 7

    将L形分成两行

  8. 8

    如何将数据帧的每个元素乘以R中每一行的元素总和?

  9. 9

    将自定义函数应用于R中数据帧中每一行的两列

  10. 10

    在R中,对两个匹配数据帧的每一行进行排序

  11. 11

    在R中的时间序列数据中的每一行中创建最后两行具有最大值的不同列

  12. 12

    将向量减去到数据帧的每一行

  13. 13

    MySQL:将两行合并为一行?

  14. 14

    R组合数据帧的前两行的字符

  15. 15

    如何将数据帧的两行合并为一行?

  16. 16

    熊猫将一行的值分为两行

  17. 17

    熊猫中数据帧的两行标题到一行标题

  18. 18

    SQL查询将两行合并为一行数据

  19. 19

    在R中打印合并数据帧的每一行

  20. 20

    perl将每两行合并为一个文件中的一行

  21. 21

    使用一行中的数据选择两行

  22. 22

    如何将数据帧1的每一行与数据帧2的每一行进行比较?

  23. 23

    R为每一行计算并添加两个数据帧单元的增量

  24. 24

    R将数据帧的每一行分成两行

  25. 25

    R-每两行相加,然后除以该行的第一行

  26. 26

    将两行合并成一行mysql

  27. 27

    需要分裂; 将数据分成不同的行,然后获取每一行的计数

  28. 28

    R - 将函数应用于数据帧的每一行,函数的参数是来自每一行的值

  29. 29

    将两行的部分提取为一行

热门标签

归档