Как исключить определенных участников в продольном анализе без увеличения NA - PullRequest
0 голосов
/ 25 октября 2019

в моем 4-х волновом продольном исследовании по коммутированию я хочу исключить участников, которые указали продолжительность поездки менее 1 минуты и более 180 минут. Код, который я сейчас использую, кажется, сначала работает нормально, но, хотя он исключил только около 200 участников из моих оригинальных 1500, мой n - только половина размера, а мои NA - двойные. Что случилось?

Я не буду выбирать каждую строку, чтобы исключить ее;это слишком много работы для 200 случаев. Я уже пробовал filter (), но это не сработало.

describe(selected.data$T2_cvar1) # mean 65.58   SD 127.84   NAs 518 n 1004 
##    vars    n  mean     sd median trimmed   mad min max range skew kurtosis
## X1    1 1004 65.58 127.84     25   33.89 22.24   0 999   999 3.97     17.2
##      se
## X1 4.03

selected.data$T2_cvar1_select <- ifelse(is.na(selected.data$T2_cvar1) == TRUE, selected.data$T2_cvar1, ifelse(selected.data$T2_cvar1 > 0 & selected.data$T2_cvar1 < 181, selected.data$T2_cvar1, -999))

selected.data<- selected.data[selected.data$T2_cvar1_select != -999, ]
# 118 partcipants excluded, 1406 remain 
#(got this information with dim command)

describe(selected.data$T2_cvar1) NAs 848

##    vars   n  mean    sd median trimmed   mad min max range skew kurtosis
## X1    1 476 33.66 28.94     25   28.59 14.83   1 180   179 2.04     4.83
##      se
## X1 1.33

Я повторяю это для трех других трехсторонних команд (T3, T4, T5), в которых говорится, что все еще 1322 участника

Почему выросли мои NA? И как я могу исключить этих людей, не отдавая половину моих данных?

...