我有 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, last_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)更新在 last_week 中增加的旧数据
3)为增加的 last_week 数据添加一个星号(仅在“B”和“C”列中)
除了简单地粘贴这些表之外,我还没有发现任何与实际使用 Stack Overflow 上的 compare_df() 输出相关的内容,这对于我的任务来说是不够的。
我想知道是否有人做过类似的事情和/或可以分享一些关于我如何实现这两个目标的想法。或者,有兴趣知道是否有更好的包可用于此任务/解决方法。当然,如果需要任何进一步的信息,请告诉我。
提前感谢您提供的任何帮助!