Nano Hash - криптовалюты, майнинг, программирование

Среднее значение, SD, ANOVA для повторных продольных измерений

Три измерения (время) вложены в Networkpartners (NP), которые вложены в Persons (ID). Переменная NP.T (созданная в соответствии с упомянутым ответом здесь) указывает количество Networkpartners (без пропущенного значения в Результате), которое есть у конкретного человека (ID) по конкретному измерению (от 1 до 3).

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

   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 для количества сетевых партнеров при каждом измерении (NP.T).

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

T1 -> 2 идентификатора с именем хотя бы одного сетевого партнера

T2 -> 2 идентификатора с именем хотя бы одного NP

T3 -> 2 идентификатора с именем хотя бы одного NP

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

б) повторно измеряет ANOVA, чтобы выяснить, изменяется ли среднее число сетевых партнеров с течением времени.

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

Среднее значение T1 = 2 ‹-, поскольку оба идентификатора назвали два NP в T1.

Среднее значение T2 = 1,5 ‹, так как один ID назвал два, а другой один NP в T2

Mean.T3 = 1 ‹- так как оба ID назвали один NP на T3

n.T1 = 2

n.T2 = 2

n.T3 = 2

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


  • вам нужно среднее значение NP.T или NP? Мне это не ясно! Если возможно, напишите ожидаемый результат для данного образца в своем вопросе. 03.08.2013
  • в ожидаемых результатах была ошибка, сейчас исправил 03.08.2013
  • Вы хотите tapply, aggregate и/или by. 03.08.2013
  • Что вы пробовали? Кроме того, мне непонятно, почему вы считаете «Проблема в том...» проблемой. 03.08.2013
  • Я просто не понимаю. означает (NT.T,na.rm=T) не кажется правильным 03.08.2013
  • Нет, по крайней мере, не для вашего примера набора данных, где нет переменной с именем NT.T. 03.08.2013

Ответы:


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

Часть Б:

myaov ‹- aov (среднее значение ~ время, данные = мои данные3)

> 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

Обновлено: Чтобы узнать об ошибке Error in is.list(by) : 'by' is missing, проверьте здесь для подробностей. Как указано на веб-сайте, эта проблема связана не с 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)))
03.08.2013
  • Пожалуйста, объясните, что это означает: n.T1 = 2, n.T2 = 2 n.T3 = 2 03.08.2013
  • n.T1 = 2 -> два идентификатора, названные как минимум 1 NP в T1 каждый, и поэтому учитывались при расчете описательной статистики. 03.08.2013
  • Вы ищете тот, который я только что обновил? 03.08.2013
  • mydata3‹-ddply(mydata1,.(Time),summarize,mean=mean(NP.T),sd=sd(NP.T),nobs=sum(NP.T)) не работает, есть ошибка: Fehler in is.list(by): 'by' fehlt 04.08.2013
  • В моем коде нет nobs=sum(NP‌​.T)). Где ты это взял? 04.08.2013
  • fehler означает ошибка. 04.08.2013
  • mydata3‹-ddply(mydata1,.(Time),summarize,mean=mean(NP.T),sd=sd(NP.T),nobs=length(unique(ID))) если я использую это, 'by' по-прежнему кажется, что отсутствует 04.08.2013
  • его провал не Фелер; вы запускали это в этом образце данных или реальных данных? и вы назвали свой предыдущий вывод как mydata1 и у вас была переменная времени в реальных данных или переменная времени в реальных данных (проверьте нижний/верхний регистр переменной)? 04.08.2013
  • проверить обновленный ответ 04.08.2013
  • Хорошо, коммандос работает. но проблема в том, что количество наблюдений одинаково для всех трех наблюдений. проблема в том, что некоторые лица (ID) выбыли из исследования или не принимали участие в некоторых измерениях (этих лиц можно узнать по значению 0 в NP.T. и эти выбывшие не должны быть учитываются при расчете средств. 04.08.2013
  • В ваших примерных данных нет значения 0 для NP.T, и вы сказали, что n будет равно 2 для всех значений T. Итак, вам нужно более четко ответить на свой вопрос. К вашему сведению: ваш вопрос уже отложен... 04.08.2013
  • хорошо, я подумал, что будет сложно создать пример со всеми случаями, что может случиться. так что я опубликую его более точным позже. спасибо за вашу помощь 04.08.2013
  • Не проблема; если этот ответ подходит для проблемы, которую вы опубликовали (кроме дополнительных проблем в комментариях), вы должны проверить ответ как принятый 04.08.2013
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..