Форум врачей-аспирантов

Здравствуйте, гость ( Вход | Регистрация )

 
Добавить ответ в эту темуОткрыть тему
> тест Вилкоксона в R
konnor
сообщение 16.01.2016 - 18:00
Сообщение #1





Группа: Пользователи
Сообщений: 10
Регистрация: 15.12.2015
Пользователь №: 27759



Подскажите, пожалуйста, есть ли здесь коллеги, которые 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
Сообщение #2





Группа: Пользователи
Сообщений: 1091
Регистрация: 26.08.2010
Пользователь №: 22699



Цитата(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ст"]) показать?


Signature
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
ogurtsov
сообщение 16.01.2016 - 18:15
Сообщение #3





Группа: Пользователи
Сообщений: 127
Регистрация: 15.12.2015
Пользователь №: 27760



Включаю телепатию и предлагаю вариант, не видя данных:
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)

Сообщение отредактировал ogurtsov - 16.01.2016 - 18:26


Signature
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
konnor
сообщение 17.01.2016 - 11:47
Сообщение #4





Группа: Пользователи
Сообщений: 10
Регистрация: 15.12.2015
Пользователь №: 27759



Спасибо:))
офф-топ вопрос
как мне правильно проставить 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
Сообщение #5





Группа: Пользователи
Сообщений: 127
Регистрация: 15.12.2015
Пользователь №: 27760



Просто уберите строку с пропущенными данными.


Signature
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
konnor
сообщение 17.01.2016 - 13:22
Сообщение #6





Группа: Пользователи
Сообщений: 10
Регистрация: 15.12.2015
Пользователь №: 27759



Ну тоже верно. Я просто думал все в 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
Сообщение #7





Группа: Пользователи
Сообщений: 127
Регистрация: 15.12.2015
Пользователь №: 27760



Цитата(konnor @ 17.01.2016 - 13:22) *
Ну тоже верно. Я просто думал все в R сделать


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

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


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



Можно, для этого см. выше (там где про изучение R).


Signature
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
konnor
сообщение 17.01.2016 - 15:50
Сообщение #8





Группа: Пользователи
Сообщений: 10
Регистрация: 15.12.2015
Пользователь №: 27759



Да, уже сам разобрался, Там не сложно с lapply оказалось работать. Уважаемый ogurtsov, Вы сами можете решать с кем и как общаться на форуме, но буду Вам признателен, если на мои посты Вы будете отвечать конкретно, например куском кода и так далее. Например, мне нравится p2004r, всегда отвечает четко и по теме, ну или можете игнорировать меня. Я не обижусь. Т.к. ответ это полезная информация, а не сотрясание воздуха бессмысленными советами, которые и так все знают.
Вы мне моего товарища напоминаете, но он программист на java, он также примерно отвечает, чтобы привлечь внимание, чтобы у него заказ сделали на работу.
Если Вы стараетесь тут заказчиков найти, не уверен, но тут их не так много. В любом случае Вам успехов во всем:)
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
ogurtsov
сообщение 17.01.2016 - 17:09
Сообщение #9





Группа: Пользователи
Сообщений: 127
Регистрация: 15.12.2015
Пользователь №: 27760



Цитата(konnor @ 17.01.2016 - 15:50) *
Да, уже сам разобрался

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

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


Signature
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 20.01.2016 - 11:57
Сообщение #10





Группа: Пользователи
Сообщений: 1091
Регистрация: 26.08.2010
Пользователь №: 22699



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

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


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


Signature
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 

Добавить ответ в эту темуОткрыть тему