R的意义

时间:2011-01-07 14:39:27

标签: r statistics correlation

好的,这很难解释,但我完全不知道该怎么办。我是R的相对新人,虽然我完全可以钦佩它有多强大,但我实际上并不太擅长使用它....

基本上,我有一些我需要分析的非常人为的数据(不是我选择了这个,我可以向你保证!)。我有很多人的右手和左手长度,以及一些显示他们社交能力的数字数据。

现在我想知道具有明显不同手长的人是否比那些拥有相同长度的人更善于交际(导致研究'对称'人更善于交际和智能等等。

我已经将数据加载到R中,然后我不知道从那里去哪里。我是如何开始将那些接近对称的人与那些不接受对称的人分开呢?


好的,使用Sacha的好建议,我做了cor.test并获得了以下内容:

Pearson's product-moment correlation

data:  measurements$l.hand - measurements$r.hand and measurements$sociable 
t = 0.2148, df = 150, p-value = 0.8302
alternative hypothesis: true correlation is not equal to 0 
95 percent confidence interval:
 -0.1420623  0.1762437 
sample estimates:
       cor 
0.01753501

我以前从未使用过这个测试,所以我不确定如何解释它...你不会认为我是第四个科学学位你会吗?! :(

3 个答案:

答案 0 :(得分:1)

使用显着性检验来查看样本中的获得效果是否可能是由于随机错误引起的。它并不适用于个人得分,但你可以做的是标准化差异。

如果'dat'是您的数据框的名称,包含列'hand.left','hand.right'和'social',那么您可以通过这种方式标准化差异:

stand=scale(dat$hand.left-dat$hand.right)

然后你可以创建一个逻辑虚拟向量,指示一个人是否有可能在给定样本时出现这种差异:

dum=abs(stand)<1.96

然后您可以在t检验中使用

t.test(dat$social[dum],dat$social[!dum])

然而,问题在于,由于标准化的性质,等手组中的样本大小将比不等手组大20倍,因此需要大量观察。另一种方法是研究社交性与绝对手部差异之间的相关性:

cor.test(abs(dat$hand.left-dat$hand.right), dat$social)

答案 1 :(得分:1)

看起来像一个回归问题:

set.seed(1)
DF <- data.frame(lhand = rnorm(100, 15, sd = 2), rhand = rnorm(100, 15, sd = 2),
                 social = runif(100))
DF <- within(DF, handedness <- lhand - rhand)

mod <- lm(social ~ handedness, data = DF)
summary(mod)

这里没有关系(并不令人惊讶,因为这些只是随机数据):

> summary(mod)

Call:
lm(formula = social ~ handedness, data = DF)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.51113 -0.25170 -0.02336  0.26161  0.52042 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept)  0.507240   0.030700  16.522   <2e-16 ***
handedness  -0.007896   0.011670  -0.677      0.5    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Residual standard error: 0.3051 on 98 degrees of freedom
Multiple R-squared: 0.00465,    Adjusted R-squared: -0.005506 
F-statistic: 0.4579 on 1 and 98 DF,  p-value: 0.5002

对于你真正的问题,问问自己社交和惯用之间的线性近似是否合适。因此绘制数据:

plot(social ~ handedness, data = DF)

它看起来是双变量高斯吗?

如果线性关系看起来正常,则拟合线性模型,然后检查残差是否存在问题(曲线模式,非常数方差,与常态的强偏差)。然后从那里继续前进。如果线性近似似乎不对,那么你可以将变换的关系线性化吗?如果是的话,尝试一下,如果没有尝试GLM怎么样?等等...

答案 2 :(得分:0)

你应该检查你的数据......

hist( measurements$social )

它看起来如何?...正常吗?

您可以尝试回归

stand = scale( measurements$l.hand - measurements$r.hand )
m <- lm( measurements$social ~ stand )
m
summary(m)
anova(m)

您还可以绘制模型,它将为您提供诊断

plot(m)

请为您在此处尝试的所有命令键入短语?命令(例如?lm)。它将帮助您了解正在发生的事情。