楼主: jianlamhua
99365 78

[一般统计问题] 如何把pearson系数矩阵和spearman系数矩阵合并?   [推广有奖]

21
sungmoo 发表于 2011-5-9 07:29:29
https://bbs.pinggu.org/thread-1089842-1-1.html
并帖

*还可以借助mata(设考察变量组x*的相关系数阵:左下角是cor x*的结果,右上角是spearman x*的结果;( )内是p值;***/0.01,**/0.05,*/0.1):

spearman x*
n mata
x=st_data(.,"x*")
c=correlation(x)
n=rows(c)
b=strofreal(lowertriangle(c)+uppertriangle(st_matrix("r(Rho)")), "%9.3f")
p=st_matrix("r(P)")
for (i=2; i<=n; i++) {
for (j=1; j<=i-1; j++) {
p[i,j]=2*ttail(rows(x)-2,abs(c[i,j]/sqrt((1-c[i,j]^2)/(rows(x)-2))))
b[i,j]=b[i,j]+(p[i,j]<0.01?"***":(p[i,j]<0.05?"**":(p[i,j]<0.1?"*":"")))
b[j,i]=b[j,i]+(p[j,i]<0.01?"***":(p[j,i]<0.05?"**":(p[j,i]<0.1?"*":"")))
}
}
c=editvalue(b+J(n,n,"(")+strofreal(p,"%9.3f")+J(n,n,")"), "2.000(0.000)", "1")
c
end
已有 2 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
Sunknownay + 100 + 5 + 1 + 1 + 1 鼓励积极发帖讨论
dxystata + 20 根据规定进行奖励

总评分: 经验 + 100  论坛币 + 25  学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

22
陌上秋草 发表于 2011-5-24 17:21:23
sungmoo 发表于 2011-5-9 07:29
https://bbs.pinggu.org/thread-1089842-1-1.html
并帖
*还可以借助mata(设考察变量组x*的相关系数阵,n为阵的阶数):
cor x*
mat c=r(C)
spearman  x*, mat
mat d=r(Rho)
mata:
sublowertriangle(st_matrix("c"))+sublowertriangle(st_matrix("d"))'-I(n)
end
命令倒是简便,但是如何保留小数点后三位和加星号问题?
[img]http://static2.photo.sina.com.cn/middle/49aaa343t80318d

23
sungmoo 发表于 2011-5-24 18:14:16
陌上秋草 发表于 2011-5-24 17:21 命令倒是简便,但是如何保留小数点后三位和加星号问题?
往帖中不是给出相关链接了吗?https://bbs.pinggu.org/thread-32761-1-1.html

24
sharlagao 发表于 2011-5-28 12:22:52
请教请教,我不懂这句话:
“把peason系数矩阵(存为matpe)和spearman系数矩阵(存为matsp)合并."  这里的matpe是将peason 系数矩阵存为matpe.mata文件吗???
我用sungmoo的命令依葫芦画瓢作,但系统不认matpe???

25
陌上秋草 发表于 2011-5-28 23:09:14
sungmoo 发表于 2011-5-24 18:14
陌上秋草 发表于 2011-5-24 17:21 命令倒是简便,但是如何保留小数点后三位和加星号问题?
往帖中不是给出相关链接了吗?https://bbs.pinggu.org/thread-32761-1-1.html
我知道,上面15和16楼voodoo 给出的命令可以保留小数点和加星号并且把pearson 和spearman 放到一起,但是那个命令很长的撒,我是想问你这个矩阵格式的命令能不能实现这个功能
[img]http://static2.photo.sina.com.cn/middle/49aaa343t80318d

26
wonway 发表于 2011-6-16 14:28:02
21# sungmoo

谢谢提供这个命令,很棒。还想请教几个问题:
1.这个命令输出的结果小数位数很多,怎样才能修改一下变成只输出三位小数?
2.correlate 和 pwcorr这两个命令输出的结果不太一样,请问他们都是Pearson的命令吗?有何区别?在您的这个设计中用的是 correlate吗?(下三角的)
3.此外这个命令还能再加上p值吗?
4.这个可以用比如logout 这样的命令输出到excel吗?

非常感谢。

27
sungmoo 发表于 2011-6-16 14:37:38
wonway 发表于 2011-6-16 14:28 correlate和pwcorr这两个命令输出的结果不太一样,请问他们都是Pearson的命令吗?有何区别?在您的这个设计中用的是 correlate吗?(下三角的)
https://bbs.pinggu.org/thread-1092974-1-1.html

相当于用correlate。

28
sungmoo 发表于 2011-6-16 14:47:19
wonway 发表于 2011-6-16 14:28 这个命令输出的结果小数位数很多,怎样才能修改一下变成只输出三位小数?
大家为什么不愿意自己思考一下扩展别人的命令呢?

strofreal(real matrix R, string matrix format)

29
sungmoo 发表于 2011-6-16 14:49:30
wonway 发表于 2011-6-16 14:28 此外这个命令还能再加上p值吗?
肯定可以。这个留给大家思考吧(比如,先想好把p值放在什么位置,p值保留几位小数)。

30
wonway 发表于 2011-6-16 15:06:50
非常非常感谢。

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-24 12:31