R 中的子集产生 na

Subset in R producing na

这是我用来查看数据子集的代码:

active<-clinic[ 
   (clinic$Days.since.injury.physio > 20 & clinic$Days.since.injury.physio < 35) 
  &(clinic$Days.since.injury.F.U.1 > 27 & clinic$Days.since.injury.F.U.1 < 63)
 , ]

我想select一组受试者基于两个标准然后分析他们的结果。当我注意到 na 超出了整个数据集时,我开始查看描述性数据。

子集化似乎导致 NA。我看过几篇帖子,包括下面这两篇似乎相关的帖子,但我不明白如何应用这些答案。

  1. 为什么子集会导致全数据集中不存在的na? (我想其他帖子的答案是另一个变量中有一个na?)

  2. 我该如何解决这个问题?

我希望能够从存在的变量中获取值,而不是在缺少值时忽略整行。

谢谢。

Subsetting R data frame results in mysterious NA rows

这是一种解决方法,是对您的#2

的回应

查看您的代码,有一种更简单的子集数据方法。试试这个。

检查这是否解决了您的问题。

library(dplyr)

active<- clinic %>% 
filter(Days.since.injury.physio>20,
       Days.since.injury.physio<35, 
       Days.since.injury.F.U.1>27,
       Days.since.injury.F.U.1<63
      )

dplyr 在数据的子集化和操作方面确实很出色。

%>% 符号将语句链接在一起,因此您永远不必使用 $ 符号。

如果出于某种奇怪的原因,您不喜欢这个,您应该查看 r 中的 subset 函数。