Полная версия этой страницы:
тест Вилкоксона в R
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
но там одинаковое кол-во наблюдений. там лишь одна строка с пропуском. но он у обоих групп.
Что ему ещё нужно.
p2004r
16.01.2016 - 18:09
Цитата(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
16.01.2016 - 18:15
Включаю телепатию и предлагаю вариант, не видя данных:
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
17.01.2016 - 11:47
Спасибо:))
офф-топ вопрос
как мне правильно проставить 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
17.01.2016 - 13:09
Просто уберите строку с пропущенными данными.
konnor
17.01.2016 - 13:22
Ну тоже верно. Я просто думал все в 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
17.01.2016 - 13:31
Цитата(konnor @ 17.01.2016 - 13:22)

Ну тоже верно. Я просто думал все в R сделать
Чтобы все делать в R, логично было бы этот самый R сперва изучить. Чтобы хотя бы удаление строки не представлялось колоссальной проблемой.
Цитата(konnor @ 17.01.2016 - 13:22)

А если у меня их несколько, я не хочу так постоянно вводить. Можно ли сделать чтобы считалось сразу для всех 10-ти переменных
они идут по порядке. do posle, do1 posle1 , т.е. 20 столбцов и так далее
Что-то такое хотите?

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

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

Вот видите, можете, когда захотите. Со временем может оказаться, что этап написания сообщений на форуме зачастую можно вообще пропустить (и разоблачать потом никого не придется).
А вообще
Как задать хороший вопрос? надо бы подвесить на самом видном месте.
А лучше не отвечать на плохо (небрежно) сформулированное сразу, а задать все уточняющие вопросы сначала. Потом если это "настоящий" новичек нуждающийся в помощи, он сразу будет спрашивать полностью снабдив вопрос всем необходимым для ответа. А если же это очередной "остроумный дома под одеялом" тролль, то устанет и уйдет.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.