楼主: pingguzh
3588 9

[问答] 请教怎么根据分组的不同水平,做相关分析 [推广有奖]

  • 0关注
  • 4粉丝

菜鸟

副教授

48%

还不是VIP/贵宾

-

威望
0
论坛币
3 个
通用积分
20.1546
学术水平
1 点
热心指数
7 点
信用等级
3 点
经验
20017 点
帖子
870
精华
0
在线时间
433 小时
注册时间
2012-10-29
最后登录
2024-1-28

楼主
pingguzh 发表于 2018-5-25 15:18:32 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
请教各位大虾,假如我的数据是这样的:
data <- data.frame(y = rnorm(30), x = rnorm(30), grp = sample(c("east", "center", "west"), 30, replace = T))

在grp的每个水平下,分析x和y的相关性,应该怎么写程序呢?

cor.test(x,y,data=data[grp=="east",])
cor.test(x,y,data=data[grp=="center",])
cor.test(x,y,data=data[grp=="west",])

这样好像不行,因为cor.test命令好像不能指定data的名字

如果先生成subset,然后再做cor.test倒是可以,不过这样就要逐一的去生成subset,当分组变量有很多个,比如grp1,grp2,grp3.。。的时候,这种方法就不太可靠了

请问有好的方法吗?

比如f<-function(){
?????
}
进一步的,如果计算得出了结果,怎么分别保存对应的相关系数和p值



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:不同水平 相关分析 Data

统计爱好

沙发
cheetahfly 在职认证  发表于 2018-5-28 08:03:21
library(tidyverse)
group_by() + nest() + map()

藤椅
pingguzh 发表于 2018-5-28 09:23:23
非常感谢你的回答,这个回答对我来说太深奥了,没法解决我的问题
首先,library(tidyverse)
Error in library(tidyverse) : 不存在叫‘tidyverse’这个名字的程辑包

其次,group_by(data, grp) %>% 是这样写吗,后面写什么呢,写cor.test不行。

再次,nest()与group_by()用+连接起来,表示要写在一起,还是你随意些的+呢,nest()也没有查到

板凳
pingguzh 发表于 2018-5-28 09:35:33
我试了一下
group <- group_by(data, grp)
cor.test(group$x,group$y,data=group)
还是不行

报纸
pingguzh 发表于 2018-5-28 10:37:44
  1. data <- data.frame(y = rnorm(30), x = rnorm(30), grp = sample(c("east", "center", "west"), 30, replace = T))
  2. group  <- data %>% group_by(grp)
  3. group %>% cor.test(group$x,group$y,data=group)  #can not run
  4. group %>% summarise(m=mean(x)) # can success
复制代码

地板
pingguzh 发表于 2018-5-28 10:38:31
高手能不能把你的程序贴出来呢,好让我膜拜一下

7
pingguzh 发表于 2018-5-28 14:43:57
已求得答案

8
liyun10 发表于 2021-10-27 19:34:01
pingguzh 发表于 2018-5-28 14:43
已求得答案
求答案,万分感谢!

9
yangliping9318 发表于 2023-2-15 12:47:25
同样问题,求分享答案,谢谢!!

10
奇奇奇37 在职认证  发表于 2023-4-5 15:43:39
想请教一下,命令是啥呀

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-31 00:30