R - 使用 compare_df() 的输出来更新原始数据框

问题描述

我有 3 个与 compareDF CRAN 包中的 compare_df() 函数相关的问题。

我有两个结构相同但内容不同的数据框(this_week 和 last_week):

this_week
  Week   A   B   C
1    1   0   0   0
2    2   0   1   0
3    3   0   1   0
4    4   2   1   0
5    5   2   0   0       

last_week
  Week   A   B   C
1    1   0   0   0
2    2   0   0   0
3    3   0   0   1
4    4   3   0   0
5    5   0   0   0

我正在使用 compare_df(this_week,last_week,group_col = "Week") 来比较这两个数据框。具体来说,我对 compare_df() 函数输出的第二个感兴趣,它给出了单元格级别的比较。

输出显示从一周到下一周哪些单元格增加了:

weeks_compared <- compare_df(this_week,group_col = "Week")
weeks_compared

$comparison_df
  Week chng_type   A   B   C
1    2         +   0   1   0
2    2         -   0   0   0
3    3         +   0   1   0
4    3         -   0   0   1
5    4         +   2   1   0
6    4         -   3   0   0
7    5         +   2   0   0
8    5         -   0   0   0

$comparison_table_diff
  Week chng_type   A   B   C
1    =         +   =   +   =
2    =         -   =   -   =
3    =         +   =   +   +
4    =         -   =   -   -
5    =         +   +   +   =
6    =         -   -   -   =
7    =         +   +   =   =
8    =         -   -   =   =

有趣的是,第 5 行和第 6 行没有提供我期望的比较结果。我希望:
第二个数据框($comparison_table_diff)的第5行第3列(“A”)为“-”
第 6 行第 3 列(“A”)为“+”。
然而,它实际上是相反的:

$comparison_df
  Week chng_type A B C
5    4         + 2 1 0
6    4         - 3 0 0

$comparison_table_diff
  Week chng_type A B C
5    =         + + + =
6    =         - - - =

1) 有谁知道为什么会这样?

此外,我不知道如何进一步使用此输出。我的目标是:
2)更新上周增加的旧数据
3) 给 last_week 增加的数据添加星号(仅在“B”和“C”列中)

除了简单地粘贴这些表格之外,我没有发现任何与实际使用 Stack Overflow 上的 compare_df() 输出相关的内容,这对我的任务来说是不够的。

我想知道是否有人做过类似的事情和/或可以分享一些关于我如何实现这两个目标的想法。或者,有兴趣知道是否有更好的软件包可供使用/解决此任务。当然,如果需要任何进一步的信息,请告诉我。

预先感谢您提供的任何帮助!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)