Значение в R - PullRequest
       8

Значение в R

1 голос
/ 07 января 2011

Хорошо, это довольно сложно объяснить, но я совершенно не понимаю, что делать.Я относительный новичок в R, и хотя я могу полностью восхищаться его мощью, я не слишком хорош в его использовании ....

В принципе, у меня есть некоторые очень надуманные данные, которые мне нужныпроанализировать (это был не я, кто выбрал это, я могу заверить вас!).У меня есть длина правой и левой руки большого количества людей, а также некоторые числовые данные, которые показывают их общительность.

Теперь я хотел бы знать, являются ли люди, которые имеют существенно различную длину руки, более или менее общительнымичем те, у кого то же самое (ведя исследование, что «симметричные» люди более общительны и интеллектуальны и т. д.)

Я дошел до загрузки данных в R, тогда я понятия не имею, куда идтиоттуда. Как, черт возьми, я начинаю отделять тех, кто близок к симметричному, от тех, кто не должен затем делать анализ?


Хорошо, используя великий совет Саши, я сделали получил следующее:

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 ]

1 голос
/ 07 января 2011

Похоже на проблему регрессии:

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? и т.д. и т.п. ...

1 голос
/ 07 января 2011

Используется критерий значимости, чтобы определить, может ли эффект пробы в пробе быть вызван случайной ошибкой. Это не очень удобно для индивидуальных результатов, но вы можете стандартизировать различия.

Если «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)
0 голосов
/ 07 января 2011

Вы должны проверить свои данные ...

hist( measurements$social )

Как это выглядит? ... нормально?

Вы можете попробовать регрессию

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

Вы также можете построить модель, и она даст вам диагностику

plot(m)

Пожалуйста, введите фразу? Command (например,? Lm) для всех команд, которые вы пытаетесь здесь. Это поможет вам понять, что происходит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...