Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: тест Вилкоксона в R
Форум врачей-аспирантов > Разделы форума > Медицинская статистика
konnor
Подскажите, пожалуйста, есть ли здесь коллеги, которые R знают?
Вопрос такой. Мне надо провести сравнения до и после с использование Т-Вилкоксона но отдельно по группам
data=read.csv("d:/data.csv",sep=";",dec=",")

wilcox.test(data$do,
data$posle[data$group=="Плацебо"],paired = TRUE)
wilcox.test(data$do,
data$posle[data$group=="Teст"],paired=TRUE)

а мне выдается ошибка
Error in wilcox.test.default(data$do, data$posle[data$group== :
'x' and 'y' must have the same length

но там одинаковое кол-во наблюдений. там лишь одна строка с пропуском. но он у обоих групп.

Что ему ещё нужно.
p2004r
Цитата(konnor @ 16.01.2016 - 18:00) *
Подскажите, пожалуйста, есть ли здесь коллеги, которые R знают?
Вопрос такой. Мне надо провести сравнения до и после с использование Т-Вилкоксона но отдельно по группам
data=read.csv("d:/data.csv",sep=";",dec=",")

wilcox.test(data$do,
data$posle[data$group=="Плацебо"],paired = TRUE)
wilcox.test(data$do,
data$posle[data$group=="Teст"],paired=TRUE)

а мне выдается ошибка
Error in wilcox.test.default(data$do, data$posle[data$group== :
'x' and 'y' must have the same length

но там одинаковое кол-во наблюдений. там лишь одна строка с пропуском. но он у обоих групп.

Что ему ещё нужно.


наверное str(data), str(data$do), str(data$posle[data$group=="Плацебо"]), str(data$posle[data$group=="Teст"]) показать?
ogurtsov
Включаю телепатию и предлагаю вариант, не видя данных:
wilcox.test(data$do[data$group=="Плацебо"],
data$posle[data$group=="Плацебо"],paired = TRUE)
wilcox.test(data$do[data$group=="Тест"],
data$posle[data$group=="Teст"],paired=TRUE)
konnor
Спасибо:))
офф-топ вопрос
как мне правильно проставить na.rm=TRUE, когда делаю частотный анализ
lapply(data[, -5], freq,by=list(data))
у меня группа плацебо =15 чел. тестовая=16 чел и 1 пропуск
но пропуск то считается тоже с процентом, как будто это какое-то значения. Куда бы я не ставил na.rm=TRUE , все равно пропуск считается, а мне надо чтобы было так: Чтоб пропуск не давал лишний процент
Тест 16 51.61
Плацебо 15 48.39
Total 31 100.00
ogurtsov
Просто уберите строку с пропущенными данными.
konnor
Ну тоже верно. Я просто думал все в R сделать
Ну ок. А по такому вопросу не подскажите.

в этом Вашем коде или кстати в коде p2004r, здесь мы смотрим до и после по одной переменной.
wilcox.test(data$do[data$group=="Плацебо"],
data$posle[data$group=="Плацебо"],paired = TRUE)
wilcox.test(data$do[data$group=="Тест"],
data$posle[data$group=="Teст"],paired=TRUE)

А если у меня их несколько, я не хочу так постоянно вводить. Можно ли сделать чтобы считалось сразу для всех 10-ти переменных
они идут по порядке. do posle, do1 posle1 , т.е. 20 столбцов и так далее
ogurtsov
Цитата(konnor @ 17.01.2016 - 13:22) *
Ну тоже верно. Я просто думал все в R сделать


Чтобы все делать в R, логично было бы этот самый R сперва изучить. Чтобы хотя бы удаление строки не представлялось колоссальной проблемой.

Цитата(konnor @ 17.01.2016 - 13:22) *
А если у меня их несколько, я не хочу так постоянно вводить. Можно ли сделать чтобы считалось сразу для всех 10-ти переменных
они идут по порядке. do posle, do1 posle1 , т.е. 20 столбцов и так далее


Что-то такое хотите?



Можно, для этого см. выше (там где про изучение R).
konnor
Да, уже сам разобрался, Там не сложно с lapply оказалось работать. Уважаемый ogurtsov, Вы сами можете решать с кем и как общаться на форуме, но буду Вам признателен, если на мои посты Вы будете отвечать конкретно, например куском кода и так далее. Например, мне нравится p2004r, всегда отвечает четко и по теме, ну или можете игнорировать меня. Я не обижусь. Т.к. ответ это полезная информация, а не сотрясание воздуха бессмысленными советами, которые и так все знают.
Вы мне моего товарища напоминаете, но он программист на java, он также примерно отвечает, чтобы привлечь внимание, чтобы у него заказ сделали на работу.
Если Вы стараетесь тут заказчиков найти, не уверен, но тут их не так много. В любом случае Вам успехов во всем:)
ogurtsov
Цитата(konnor @ 17.01.2016 - 15:50) *
Да, уже сам разобрался

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

А вообще Как задать хороший вопрос? надо бы подвесить на самом видном месте.
p2004r
Цитата(ogurtsov @ 17.01.2016 - 17:09) *
Вот видите, можете, когда захотите. Со временем может оказаться, что этап написания сообщений на форуме зачастую можно вообще пропустить (и разоблачать потом никого не придется).

А вообще Как задать хороший вопрос? надо бы подвесить на самом видном месте.


А лучше не отвечать на плохо (небрежно) сформулированное сразу, а задать все уточняющие вопросы сначала. Потом если это "настоящий" новичек нуждающийся в помощи, он сразу будет спрашивать полностью снабдив вопрос всем необходимым для ответа. А если же это очередной "остроумный дома под одеялом" тролль, то устанет и уйдет.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2025 IPS, Inc.