请考虑以下事项:
我最近"发现"的真棒plyr和dplyr包装,并利用这些分析患者数据,提供给我的数据帧.这样的数据框可能如下所示:
df <- data.frame(id = c(1, 1, 1, 2, 2), # patient ID
diag = c(rep("dia1", 3), rep("dia2", 2)), # diagnosis
age = c(7.8, NA, 7.9, NA, NA)) # patient age
Run Code Online (Sandbox Code Playgroud)
我想总结一下中位数和平均值的所有患者的最小患者年龄.我做了以下事情:
min.age <- df %>%
group_by(id) %>%
summarise(min.age = min(age, na.rm = T))
Run Code Online (Sandbox Code Playgroud)
由于NAs数据框中有我收到警告:
`Warning message: In min(age, na.rm = T) :
no non-missing arguments to min; returning Inf`
Run Code Online (Sandbox Code Playgroud)
随着Inf我不能叫summary(df$min.age)以有意义的方式.
使用pmin()而不是min返回错误消息:
Error in summarise_impl(.data, …Run Code Online (Sandbox Code Playgroud)