在我关于通勤的 4 波纵向研究中,我想排除通勤时间短于 1 分钟且长于 180 分钟的参与者。我现在使用的代码起初似乎运行良好,但虽然它只排除了我原来的 1500 名参与者中的大约 200 名参与者,但我的 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)重复此操作 dim 命令表示仍有 1322 名参与者
为什么我的 NA 会增长?我怎样才能在不泄露我一半数据的情况下排除这些人?