0

在我关于通勤的 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 会增长?我怎样才能在不泄露我一半数据的情况下排除这些人?

4

0 回答 0