首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将R中的两个数据集关联起来,省略两个数据集中的主题

将R中的两个数据集关联起来,省略两个数据集中的主题
EN

Stack Overflow用户
提问于 2014-07-29 20:59:31
回答 2查看 67关注 0票数 0

对于R仍然非常陌生,并且有一个关于执行相关的问题。我有两个要关联的数据集。为了简单起见,假设我将集合命名为Data1和Data2。大多数主题都在这两个集合中,但也有一些主题不在这两个集合中。这是一个问题,因为我现在有不均匀的数据集,不能相互关联。我如何告诉R忽略不在两个数据集中的主题,以便我可以执行关联?我知道可能有一种方法可以让R忽略这些主题,在相同的命令中,我要求它关联我的集合。

另外,如果我希望R仅使用列1中的主题ID关联列4:7,我是否会使用命令cor.test(Data11,4:7,Data21,4:7)?

感谢您能提供的任何帮助。

EN

回答 2

Stack Overflow用户

发布于 2014-07-29 21:09:56

免责声明:没有测试,因为没有提供MWE。

尝试如下所示:

代码语言:javascript
复制
cor.test(subset(x=Data1, subset=ID==1, select=4:7), subset(x=Data2, subset=ID==1, select=4:7))
票数 0
EN

Stack Overflow用户

发布于 2014-07-29 21:18:03

尝试:

数据

代码语言:javascript
复制
 dat1 <-  structure(list(V1 = c(9L, 2L, 5L, 9L, 9L), V2 = c(8L, 4L, 7L, 
 9L, 6L), V3 = c(4L, 5L, 7L, 7L, 8L), V4 = c(7L, 4L, 6L, 7L, 1L
 ), V5 = c(9L, 2L, 10L, 7L, 10L), subject = 1:5), .Names = c("V1", 
 "V2", "V3", "V4", "V5", "subject"), row.names = c(NA, -5L), class = "data.frame")

 dat2 <- structure(list(V1 = c(2L, 6L, 5L, 9L, 7L), V2 = c(2L, 10L, 5L, 
 5L, 6L), V3 = c(3L, 4L, 3L, 8L, 7L), V4 = c(3L, 2L, 10L, 1L, 
 9L), V5 = c(2L, 4L, 8L, 1L, 6L), subject = c(1, 3, 5, 6, 8)), .Names = c("V1", 
 "V2", "V3", "V4", "V5", "subject"), row.names = c(NA, -5L), class = "data.frame")

创建主题in的索引,这些主题in在

代码语言:javascript
复制
 indx <- intersect(dat1$subject, dat2$subject)

对具有公共主题ID的数据集应用cor.test

代码语言:javascript
复制
 cor.test(as.matrix(dat1[dat1$subject %in% indx,3:5]), as.matrix(dat2[dat2$subject %in% indx, 3:5]))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25015924

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档