程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了来自长格式 R 数据集的公共变量大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决来自长格式 R 数据集的公共变量?

开发过程中遇到来自长格式 R 数据集的公共变量的问题如何解决?下面主要结合日常开发的经验,给出你关于来自长格式 R 数据集的公共变量的解决方法建议,希望对你解决来自长格式 R 数据集的公共变量有所启发或帮助;

我有一个大约 200000 行的数据集,其结构类似于

library(data.tablE)
dt <- data.frame(station = c(rep("A",4),rep("B",2),rep("C",5),rep("D",3)),variable = c(letters[3:6],letters[3:4],letters[3:7],letters[3:5]),numbers = rnorm(14)) %>%
                   data.table

我想在一个新向量中存储为每个 variable 重复的公共 station。在这个例子中,结果应该是 c d,这是 A 站到 B 站的公共变量。

数据集中实际变量的数量大约为 1000。我希望使用 data.table 语法的解决方案。 谢谢。

解决方法

按'variable'分组,得到整个数据集中'station'唯一元素个数与'station'唯一元素个数相同的行索引(.I),提取索引 ($V1) 并对行进行子集

unique(dt[dt[,.I[uniqueN(station) == uniqueN(dt$station)],variable]$V1]$variablE)
#[1] "c" "d"

或与 Reduceintersect

Reduce(intersect,split(dt$variable,dt$station))
#[1] "c" "d"

大佬总结

以上是大佬教程为你收集整理的来自长格式 R 数据集的公共变量全部内容,希望文章能够帮你解决来自长格式 R 数据集的公共变量所遇到的程序开发问题。

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

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