将数据帧中的每一行重复多少次,等于该行中的值在另一个数据帧中出现多少次?

粗糙骑士1

我很抱歉,因为我不太确定如何在不使问题变得冗长的情况下说出我的问题,因为重复的行还需要与原始行有一些更改的值。

我有两个数据框。第一个df1记录了实际从源到目的地的所有路径,而第二个df2包含了所有可能的路径。一些样本数据如下:

df1

资源 目的地 有效载荷
1个 一种 10010101
2 一种 d 11101011
3 一种 10111111
4 Ë 01100110

df2

资源 目的地
1个 一种
2 一种
3 C
4 Ë
5 F
6 一种 d
7 d 一种
8 d C
9 d H

对于我的数据,假设如果某个对象采用路径A-> B,则它也会采用源自B而不是原始来源的所有可能路径(请考虑网络集线器。彼此分开)。因此,由于我们有一个从A-> B的有效负载,因此我还需要记录从B到C,E和F的相同有效负载。我目前正在下面的FOR循环中完成此操作,但我想知道是否有更好的方法,最好是不使用循环的方法。我对R也有些陌生,因此即使对我的代码进行简单的更正也应受到赞赏。

for (row in 1:dim(df1)[1]){
  initialSource <- df1$source[row]     #saves the initial source
  paths <- df1[row,]         #saves the current row for duplication
  paths <- paths[rep(1, times = count(df2[df2$source %in% df1$destination[row], ])[[1]]), ]     #duplicates the row
  paths$source <- paths$destination     #replaces the source values to be the location of the hub
  paths$destination <- df2$destination[df2$source %in% paths$destination]     #replaces the destination values to be every connection from the hub
  paths <- paths[!(paths$destination %in% initialSource), ]      #removes the row that would indicate data being sent back to the source
  masterdf <- rbind(masterdf, paths)     #saving the new data to a larger data frame that df1 is actually a sample of. 
}

paths具有以上数据的第一个循环结束时的数据帧如下所示:

资源 目的地 有效载荷
1个 C 10010101
2 Ë 10010101
3 F 10010101
Ben

也许您可以尝试合并两个数据框。使用base R,merge您可以执行以下操作(使用来自的“目标”df1来自的“源” df2)。您将需要删除行以排除所描述的“原始来源”。重命名和选择列将为您提供最终输出。如果这是您的想法,请告诉我。

d <- subset(
  merge(df1, df2, by.x = "Destination", by.y = "Source", all = TRUE),
  Source != Destination.y
)

data.frame(
  Source = d$Destination,
  Destination = d$Destination.y,
  Payload = d$Payload
)

输出量

   Source Destination  Payload
1       B           C 10010101
2       B           E 10010101
3       B           F 10010101
4       B           C 10111111
5       B           E 10111111
6       B           F 10111111
7       B           C  1100110
8       B           F  1100110
9       B           A  1100110
10      D           C 11101011
11      D           H 11101011

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将数据帧中的每一行重复多少次,等于该行中的值在另一个数据帧中出现多少次?

来自分类Dev

计算一个值在这个数组中出现多少次?

来自分类Dev

计算一行等于一个值多少次

来自分类Dev

一种优雅的方法来计算一个文件中的模式在另一个文件中出现了多少次

来自分类Dev

Swift 4:一个String数组中的元素在String中出现了多少次?

来自分类Dev

一个数字出现多少次

来自分类Dev

我怎样才能得到一个数组中的一个元素在另一个数组中存在多少次?

来自分类Dev

使用python查找序列在数据帧中重复多少次

来自分类Dev

使用python查找序列在数据帧中重复多少次

来自分类Dev

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

来自分类Dev

计算一个值在Excel的列中出现多少次?

来自分类Dev

值在数据集中出现多少次的直方图

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

如何找出某行在x行中的某个模式对应于另一行中的值多少次?

来自分类Dev

一个数据帧中的一行出现在另一个数据帧中的概率

来自分类Dev

Shell编程如何计算单词在一行中出现多少次?

来自分类Dev

JAVA:方法,一个字符串在另一个字符串中出现多少次

来自分类Dev

根据另一个数据帧中的值将数据帧的列相乘

来自分类Dev

如何检查一个单词在php的txt文件中出现多少次?

来自分类Dev

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

来自分类Dev

计算一个数字出现多少次,比前一个数字少一个

来自分类Dev

如何在单独的数据帧中为每个值重复数据帧的每一行,然后将两者合并为一个数据帧?

来自分类Dev

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

来自分类Dev

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

来自分类Dev

如何将一个数据帧中的一行的值与另一个数据帧中的多个行进行比较(包括计算)

来自分类Dev

从另一个数据帧的行值中提取数据帧中的特定行值

来自分类Dev

仅将数据帧中的新值附加到 Pandas 中的另一个数据帧

Related 相关文章

  1. 1

    将数据帧中的每一行重复多少次,等于该行中的值在另一个数据帧中出现多少次?

  2. 2

    计算一个值在这个数组中出现多少次?

  3. 3

    计算一行等于一个值多少次

  4. 4

    一种优雅的方法来计算一个文件中的模式在另一个文件中出现了多少次

  5. 5

    Swift 4:一个String数组中的元素在String中出现了多少次?

  6. 6

    一个数字出现多少次

  7. 7

    我怎样才能得到一个数组中的一个元素在另一个数组中存在多少次?

  8. 8

    使用python查找序列在数据帧中重复多少次

  9. 9

    使用python查找序列在数据帧中重复多少次

  10. 10

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

  11. 11

    计算一个值在Excel的列中出现多少次?

  12. 12

    值在数据集中出现多少次的直方图

  13. 13

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

  14. 14

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

  15. 15

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

  16. 16

    如何找出某行在x行中的某个模式对应于另一行中的值多少次?

  17. 17

    一个数据帧中的一行出现在另一个数据帧中的概率

  18. 18

    Shell编程如何计算单词在一行中出现多少次?

  19. 19

    JAVA:方法,一个字符串在另一个字符串中出现多少次

  20. 20

    根据另一个数据帧中的值将数据帧的列相乘

  21. 21

    如何检查一个单词在php的txt文件中出现多少次?

  22. 22

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

  23. 23

    计算一个数字出现多少次,比前一个数字少一个

  24. 24

    如何在单独的数据帧中为每个值重复数据帧的每一行,然后将两者合并为一个数据帧?

  25. 25

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

  26. 26

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

  27. 27

    如何将一个数据帧中的一行的值与另一个数据帧中的多个行进行比较(包括计算)

  28. 28

    从另一个数据帧的行值中提取数据帧中的特定行值

  29. 29

    仅将数据帧中的新值附加到 Pandas 中的另一个数据帧

热门标签

归档