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

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

来自分类Dev

MySQL:将两行合并为一行?

来自分类Dev

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

来自分类Dev

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

来自分类Dev

熊猫将一行的值分为两行

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类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

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

  14. 14

    MySQL:将两行合并为一行?

  15. 15

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

  16. 16

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

  17. 17

    熊猫将一行的值分为两行

  18. 18

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

  19. 19

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

  20. 20

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

  21. 21

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

  22. 22

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

  23. 23

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

  24. 24

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

  25. 25

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

  26. 26

    将两行合并成一行mysql

  27. 27

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

  28. 28

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

  29. 29

    将两行的部分提取为一行

热门标签

归档