2013-08-03 5 views
0

Три измерения (время) вложены в Networkpartners (NP), которые вложены в Person (ID). Переменная NP.T (созданная в соответствии с указанным ответом here) указывает количество сетевых партнеров (без пропущенного значения в результатах), которое конкретное лицо (ID) имеет для определенного измерения (от 1 до 3).Среднее значение, SD, ANOVA для повторных измерений продольное

Это пример моего набора данных, у реального есть тысячи строк.

ID NP Time Outcome NP.T 
1 1 11 1  4 2 
2 1 12 1  2 2 
3 1 11 2  3 2 
4 1 12 2  3 2 
5 1 11 3  NA 1 
6 1 12 3  3 1 
7 2 21 1  2 2 
8 2 22 1  4 2 
9 2 21 2  NA 1 
10 2 22 2  4 1 
11 2 21 3  NA 1 
12 2 22 3  4 1 

Я хочу, чтобы вычислить следующие вещи и выигрыш знаю, как сделать это правильно:

а) Среднее, SD для числа networkpartners при каждом измерении (NP.T).

Также меня интересует количество лиц (удостоверений личности), которые назвали по меньшей мере одного Networkpartner при каждом измерении.

Т1 -> 2 идентификаторы, названные по меньшей мере один Networkpartner

T2 -> 2 идентификаторы, названные по меньшей мере один NP

T3 -> 2 идентификаторы, названные по меньшей мере один NP

Это может показаться тривиальным в этом примере, но это не в моем примере. для вычисления средств, sds ect. за каждый раз, когда я хочу учесть только те идентификаторы, которые на самом деле назвали по крайней мере одного сетевого партнера в это конкретное время. Идентификаторы, которые не назвали ни одного НП в это конкретное время, не должны быть частью описательной статистики за этот момент времени. Для уточнения: если на выходной переменной имеется NA, это означает, что этот NP не был назван его идентификатором в этот момент времени.

б) reapeated меры ANOVA, чтобы выяснить, если среднее число networkpartners изменений в течение времени

некоторые Ожидаемые результаты:

Mean.T1 = 2 < - как оба идентификаторы были названы два NPS в Т1

Mean.T2 = 1,5 < - в один идентификатор был назван в два, а другой NP в T2

Mean.T3 = 1 < - поскольку оба идентификаторы были названы один NP в T3

n.T1 = 2

n.T2 = 2

n.T3 = 2

Проблема заключается в том, что в реальном наборе данных все лица назвали различные количества Networkpartners, поэтому я не знаю, как рассчитать описательную статистику в этом случае.

+0

Вы хотите, чтобы среднее значение NP.T или NP? Это не яснее для меня! Если возможно, отправьте ожидаемый результат для данного образца в свой вопрос. – Metrics

+0

была ошибка в ожидаемых результатах, я исправил ее сейчас – user2647568

+1

Вы хотите 'tapply',' aggregate' и/или 'by'. –

ответ

1

Часть А (1 & 2)

library(plyr) 
mydata3<-ddply(mydata1,.(Time),summarize,mean=mean(NP.T),sd=sd(NP.T),nobs=length(unique(ID))) 


> mydata3 
    Time mean  sd nobs 
1 1 2.0 0.0000000 2 
2 2 1.5 0.5773503 2 
3 3 1.0 0.0000000 2 

Часть B:

myaov <- aov(mean ~ Time, data=mydata3)

> myaov 

    Call: 
     aov(formula = mean ~ Time, data = mydata3) 

    Terms: 
        Time Residuals 
    Sum of Squares 0.5  0.0 
    Deg. of Freedom 1   1 

    Residual standard error: 1.17148e-16 
    Estimated effects may be unbalanced 

Uodated: Для ошибки Error in is.list(by) : 'by' is missing, пожалуйста, проверьте here для ДЭТА илы. Как упоминалось на веб-сайте, эта проблема не является проблемой RStudio, но проблема библиотеки Hmisc маскирует функцию summarize из пакета 'plyr'.

Итак, в предыдущем коде необходимо добавить library(Hmisc).

library(plyr) 
library(Hmisc) 
    mydata3<-ddply(mydata1,.(Time),summarize,mean=mean(NP.T),sd=sd(NP.T),nobs=length(unique(ID))) 
+0

отредактировал мой вопрос – user2647568

+0

Пожалуйста, объясните, что это значит: n.T1 = 2, n.T2 = 2 n.T3 = 2 – Metrics

+0

n.T1 = 2 -> два идентификатора, названные по крайней мере 1 NP при T1 каждый и поэтому учитывались для расчета описательной статистики – user2647568

Смежные вопросы