如何通过在R中调用列名来合并来自另一个数据帧的数据

用户3354212

我有一个数据框:

df1 = read.table(text="X1   X2  X3  X4  X5  X6  X7
1   3   6   2   0   3   1
2   3   5   8   9   0   1
5   1   0   6   3   2   7", header=T, stringsAsFactors=F)

和另一个数据框。id列包含df1列名称的向量:

df2 = read.table(text="id
'X2 X4 X7'
'X2 X3 X4 X6'
'X3 X5 X6 X7'
'X1'
'X1 X4'", header=T, stringsAsFactors=F)

我想添加更多列,添加的列数取决于df1的行数。对于每个添加的列,将仅保留从id列定义的列中获取的每一行的粘贴值。因此,预期结果:

df2 = read.table(text="id   V1  V2  V3
'X2 X4 X7'  '3 2 1' '3 8 1' '1 6 7'
'X2 X3 X4 X6'   '3 6 2 3'   '3 5 8 0'   '1 0 6 7'
'X3 X5 X6 X7'   '6 0 3 1'   '5 9 0 1'   '0 3 2 7'
'X1'    '1' '2' '5'
'X1 X4' '1 2'   '2 8'   '5 6'", header=T, stringsAsFactors=F) 

谢谢敌人的帮助。

弗里克先生

这有点涉及,但似乎可行

 cbind(
   df2
 , 
   t(sapply(
   #first find indexes of columns
   lapply(strsplit(df2$id, " "), match, names(df1)), 
   # now extract those values
   function(i) { apply(df1[,i, drop=F], 1, paste, collapse=" " )}))
 )

这返回

           id       1       2       3
1    X2 X4 X7   3 2 1   3 8 1   1 6 7
2 X2 X3 X4 X6 3 6 2 3 3 5 8 0 1 0 6 2
3 X3 X5 X6 X7 6 0 3 1 5 9 0 1 0 3 2 7
4          X1       1       2       5
5       X1 X4     1 2     2 8     5 6

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何通过根据另一个数据帧的行名的顺序映射一个数据帧的列名来对R中的数据帧进行排序?

来自分类Dev

在R中,如何合并两个数据帧,其中一个中的列名等于另一个中的行值?

来自分类Dev

R merge()通过一个数据帧中的列名,在另一数据帧中按列名

来自分类Dev

如何从R中的另一个数据帧中提取数据帧

来自分类Dev

R-具有来自另一个数据帧的序列的数据帧

来自分类Dev

通过将一个数据帧的列与另一个数据帧的行相乘来获取一个数据帧

来自分类Dev

在R中,如何通过另一个数据框的列名删除一个数据框中的行?

来自分类Dev

在将数据与另一个数据帧合并时,如何避免一个数据帧中的几列?

来自分类Dev

折叠一个数据帧列表并与R中的另一个数据帧列表合并

来自分类Dev

在R中将数据帧归类为R中的另一个数据帧

来自分类Dev

使用ifelse()通过引用另一个不同长度的数据帧来替换一个数据帧中的NA

来自分类Dev

如何通过与另一个数据文件进行比较来提取数据文件中的某些行?(合并中)

来自分类Dev

当两个数据帧的列和索引完全相同时,如何通过匹配另一个数据帧的条件来对一个数据帧的数据进行分组?

来自分类Dev

根据另一个数据帧在R数据帧中创建变量

来自分类Dev

合并数据帧,以便将一个数据帧中的值插入到另一个数据帧中匹配的行号中

来自分类Dev

如何基于R中的另一个数据帧重命名数据帧的所有列?

来自分类Dev

如何基于R中的另一个数据帧重命名数据帧的所有列?

来自分类Dev

如何基于基础R中的另一个数据帧对数据帧进行子集

来自分类Dev

如何根据R中的另一个数据帧过滤和子集数据帧

来自分类Dev

根据来自另一个数据帧的数据为 Pandas 数据帧中的列赋值

来自分类Dev

在python熊猫中,如何合并两个数据帧,同时使用另一个的权重将值散布在一个数据中?

来自分类Dev

如何基于一个数据帧的行值是一个子字符串/包含在另一个数据帧的行值中来联接两个数据帧?

来自分类Dev

在R中,如何根据另一个数据帧中的范围对一个数据帧中的值进行分类?

来自分类Dev

Pyspark合并数据帧的一个数组包含在另一个数组中

来自分类Dev

如何用R中的另一个数据帧替换一个数据帧的某些值?

来自分类Dev

如何将一个数据帧作为子集(完整)查找或匹配到 R 中的另一个数据帧?

来自分类Dev

将数据帧与来自另一个数据帧的权重相乘

来自分类Dev

根据来自另一个数据帧的值替换数据帧中的行元素

来自分类Dev

如何基于来自本地存储的另一个数据响应来推迟XMLHttpRequest

Related 相关文章

  1. 1

    如何通过根据另一个数据帧的行名的顺序映射一个数据帧的列名来对R中的数据帧进行排序?

  2. 2

    在R中,如何合并两个数据帧,其中一个中的列名等于另一个中的行值?

  3. 3

    R merge()通过一个数据帧中的列名,在另一数据帧中按列名

  4. 4

    如何从R中的另一个数据帧中提取数据帧

  5. 5

    R-具有来自另一个数据帧的序列的数据帧

  6. 6

    通过将一个数据帧的列与另一个数据帧的行相乘来获取一个数据帧

  7. 7

    在R中,如何通过另一个数据框的列名删除一个数据框中的行?

  8. 8

    在将数据与另一个数据帧合并时,如何避免一个数据帧中的几列?

  9. 9

    折叠一个数据帧列表并与R中的另一个数据帧列表合并

  10. 10

    在R中将数据帧归类为R中的另一个数据帧

  11. 11

    使用ifelse()通过引用另一个不同长度的数据帧来替换一个数据帧中的NA

  12. 12

    如何通过与另一个数据文件进行比较来提取数据文件中的某些行?(合并中)

  13. 13

    当两个数据帧的列和索引完全相同时,如何通过匹配另一个数据帧的条件来对一个数据帧的数据进行分组?

  14. 14

    根据另一个数据帧在R数据帧中创建变量

  15. 15

    合并数据帧,以便将一个数据帧中的值插入到另一个数据帧中匹配的行号中

  16. 16

    如何基于R中的另一个数据帧重命名数据帧的所有列?

  17. 17

    如何基于R中的另一个数据帧重命名数据帧的所有列?

  18. 18

    如何基于基础R中的另一个数据帧对数据帧进行子集

  19. 19

    如何根据R中的另一个数据帧过滤和子集数据帧

  20. 20

    根据来自另一个数据帧的数据为 Pandas 数据帧中的列赋值

  21. 21

    在python熊猫中,如何合并两个数据帧,同时使用另一个的权重将值散布在一个数据中?

  22. 22

    如何基于一个数据帧的行值是一个子字符串/包含在另一个数据帧的行值中来联接两个数据帧?

  23. 23

    在R中,如何根据另一个数据帧中的范围对一个数据帧中的值进行分类?

  24. 24

    Pyspark合并数据帧的一个数组包含在另一个数组中

  25. 25

    如何用R中的另一个数据帧替换一个数据帧的某些值?

  26. 26

    如何将一个数据帧作为子集(完整)查找或匹配到 R 中的另一个数据帧?

  27. 27

    将数据帧与来自另一个数据帧的权重相乘

  28. 28

    根据来自另一个数据帧的值替换数据帧中的行元素

  29. 29

    如何基于来自本地存储的另一个数据响应来推迟XMLHttpRequest

热门标签

归档