如何提取数据帧的每一行并将解析的字符串从另一个数据帧添加到R中第一个数据帧的列

塔纳
dim <- data.frame(Max = c(1,2,3), Fax = c(4,5,6))
> dim
   Max Fax
 1   1   4
 2   2   5
 3   3   6

min <- data.frame(Num=c(1,2,3), Words = c("ab bc de","ma pa","ka da sa ba"))
> min
    Num       Words
 1   1       ab bc de
 2   2        ma pa
 3   3      ka da sa ba

我有两个数据框,昏暗的和最小的。两个数据帧中的行数相同。现在,我想向暗数据框添加另一列(单词),暗数据框将如下所示:

> dim

      Max   Fax   Words
 1     1     4     ab
 2     1     4     bc
 3     1     4     de
 4     2     5     ma
 5     2     5     pa
 6     3     6     ka
 7     3     6     da
 8     3     6     sa
 9     3     6     ba
A5C1D2H2I1M1N2O1R2T1

认为merge先分裂然后再分裂会更有效这里有两个可供考虑的选择:

数据表

library(data.table)
DT <- data.table(merge(dim, min, by.x = "Max", by.y = "Num"), key = "Max,Fax")
DT[, list(unlist(strsplit(as.character(Words), " "))), by = key(DT)]
#    Max Fax V1
# 1:   1   4 ab
# 2:   1   4 bc
# 3:   1   4 de
# 4:   2   5 ma
# 5:   2   5 pa
# 6:   3   6 ka
# 7:   3   6 da
# 8:   3   6 sa
# 9:   3   6 ba

劈堆形状

concat.split.multiple 我的“ splitstackshape”包中的内容可以轻松处理此类问题(尽管它并不总是最快的解决方案)。

library(splitstackshape)
concat.split.multiple(merge(dim, min, by.x = "Max", by.y = "Num"), 
                      "Words", " ", "long")
#    Max Fax time Words
# 1    1   4    1    ab
# 2    2   5    1    ma
# 3    3   6    1    ka
# 4    1   4    2    bc
# 5    2   5    2    pa
# 6    3   6    2    da
# 7    1   4    3    de
# 8    2   5    3  <NA>
# 9    3   6    3    sa
# 10   1   4    4  <NA>
# 11   2   5    4  <NA>
# 12   3   6    4    ba

complete.cases如果要摆脱NA的输出中的值,可以使用concat.split.multiple

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将数据帧附加到另一个数据帧的每一行?

来自分类Dev

将每一行的所有列连接为一个字符串,并将其写入R中的另一个数据帧

来自分类Dev

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

来自分类Dev

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

来自分类Dev

根据R中的两个匹配条件,将值从一个数据帧添加到另一个数据帧

来自分类Dev

检查数据帧的每一行是否包含在另一个数据帧中

来自分类Dev

计算一个数据帧的每一行与另一个数据帧中的所有其他行之间的欧式距离

来自分类Dev

从另一个数据帧r添加/减去数据帧行

来自分类Dev

将新列从另一个数据帧添加到长数据帧?

来自分类Dev

如何在第一个数据帧中的另一个基于数据帧的列值中获取值的总和?

来自分类Dev

在另一个数据帧中计算一行熊猫数据帧

来自分类Dev

查找一个数据帧中的一行出现在R中的另一个数据帧中的时间

来自分类Dev

将行从一个数据帧添加到另一个

来自分类Dev

基于另一个数据帧从一个数据帧中的序列中删除字符串

来自分类Dev

Pandas - 用来自另一个数据帧的值填充一个数据帧的每一行

来自分类Dev

如何用一个数据帧到另一个数据帧的值替换字符串

来自分类Dev

根据另一个数据帧中第一个vale的出现,用NA替换数据帧行中的剩余值

来自分类Dev

将一个熊猫数据帧合并到另一个熊猫数据帧,并从第二个数据帧中删除第一个数据帧中存在的值

来自分类Dev

检查一个数据帧中的行是否在另一个数据帧中

来自分类Dev

如何基于另一个数据帧中的时间间隔在一个数据帧中添加新列

来自分类常见问题

如何从另一个重复的数据帧更新一个数据帧

来自分类Dev

如何从另一个重复的数据帧更新一个数据帧

来自分类Dev

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

来自分类Dev

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

来自分类Dev

如何从另一个数据帧更新一个数据帧的特定列

来自分类Dev

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

来自分类Dev

在另一个数据帧中插入数据帧到行的每个组

来自分类Dev

从与另一个数据帧重叠的数据帧中删除行

来自分类Dev

将摘要n从一个数据帧添加到另一个数据帧(tidyverse)

Related 相关文章

  1. 1

    如何将数据帧附加到另一个数据帧的每一行?

  2. 2

    将每一行的所有列连接为一个字符串,并将其写入R中的另一个数据帧

  3. 3

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

  4. 4

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

  5. 5

    根据R中的两个匹配条件,将值从一个数据帧添加到另一个数据帧

  6. 6

    检查数据帧的每一行是否包含在另一个数据帧中

  7. 7

    计算一个数据帧的每一行与另一个数据帧中的所有其他行之间的欧式距离

  8. 8

    从另一个数据帧r添加/减去数据帧行

  9. 9

    将新列从另一个数据帧添加到长数据帧?

  10. 10

    如何在第一个数据帧中的另一个基于数据帧的列值中获取值的总和?

  11. 11

    在另一个数据帧中计算一行熊猫数据帧

  12. 12

    查找一个数据帧中的一行出现在R中的另一个数据帧中的时间

  13. 13

    将行从一个数据帧添加到另一个

  14. 14

    基于另一个数据帧从一个数据帧中的序列中删除字符串

  15. 15

    Pandas - 用来自另一个数据帧的值填充一个数据帧的每一行

  16. 16

    如何用一个数据帧到另一个数据帧的值替换字符串

  17. 17

    根据另一个数据帧中第一个vale的出现,用NA替换数据帧行中的剩余值

  18. 18

    将一个熊猫数据帧合并到另一个熊猫数据帧,并从第二个数据帧中删除第一个数据帧中存在的值

  19. 19

    检查一个数据帧中的行是否在另一个数据帧中

  20. 20

    如何基于另一个数据帧中的时间间隔在一个数据帧中添加新列

  21. 21

    如何从另一个重复的数据帧更新一个数据帧

  22. 22

    如何从另一个重复的数据帧更新一个数据帧

  23. 23

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

  24. 24

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

  25. 25

    如何从另一个数据帧更新一个数据帧的特定列

  26. 26

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

  27. 27

    在另一个数据帧中插入数据帧到行的每个组

  28. 28

    从与另一个数据帧重叠的数据帧中删除行

  29. 29

    将摘要n从一个数据帧添加到另一个数据帧(tidyverse)

热门标签

归档