程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了在 R 中识别二元数据中的匹配观察大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决在 R 中识别二元数据中的匹配观察?

开发过程中遇到在 R 中识别二元数据中的匹配观察的问题如何解决?下面主要结合日常开发的经验,给出你关于在 R 中识别二元数据中的匹配观察的解决方法建议,希望对你解决在 R 中识别二元数据中的匹配观察有所启发或帮助;

见鬼了,

我正在努力解决以下问题。目前,我有一个如下所示的数据集:

    
   living_in     from           Year    stock
   AuStria       Australia      2014       2513
   AuStria       Australia      2013       2000
   GeRMANy       AuStria       2010       6000
   Australia     AuStria       2014       3000
   AuStria       Australia     1993        NA

现在我想确定满足以下条件的所有观察结果:

  • 应该是同年的
  • 应包含当年相同的国家/地区对
  • 不应包含 NA

例如,我想在同一年中查找包含值两个国家(如奥地利-澳大利亚和澳大利亚-奥地利)组合的所有观察值 /强>。这是因数据集中给定年份的某些组合只有一个股票值,而不是两个我想删除那些。

在这里进行的最佳方式是什么?非常感谢!

附言我的数据集中有大约 14 个国家/地区对需要这种识别

一个有用的输出可能是这样的

    
   living_in     from           Year    stock       dummy
   AuStria       Australia      2014       2513       1
   AuStria       Australia      2013       2000       0
   GeRMANy       AuStria       2010       6000        0
   Australia     AuStria       2014       3000        1
   AuStria       Australia     1993        NA         0

解决方法

对于国家的每个组合,无论其顺序如何(AB 与 BA 相同),如果对于相同的 dummy,它有超过 1 行和 Year all 值为非 stock 或分配 0。

NA

数据

library(dplyr)

df %>%
  group_by(col1 = pmin(living_in,from),col2 = pmax(living_in,Year) %>%
  mutate(dummy = as.Integer(n() > 1 && all(!is.na(stock)))) %>%
  ungroup %>%
  SELEct(-col1,-col2)

#  living_in from       Year stock dummy
#  <chr>     <chr>     <int> <int> <int>
#1 AuStria   Australia  2014  2513     1
#2 AuStria   Australia  2013  2000     0
#3 GeRMANy   AuStria    2010  6000     0
#4 Australia AuStria    2014  3000     1
#5 AuStria   Australia  1993    NA     0

大佬总结

以上是大佬教程为你收集整理的在 R 中识别二元数据中的匹配观察全部内容,希望文章能够帮你解决在 R 中识别二元数据中的匹配观察所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。