小编Fre*_*ick的帖子

使用R中的min()返回NA而不是Inf

请考虑以下事项:

我最近"发现"的真棒plyrdplyr包装,并利用这些分析患者数据,提供给我的数据帧.这样的数据框可能如下所示:

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)

r min plyr dplyr

3
推荐指数
3
解决办法
2108
查看次数

标签 统计

dplyr ×1

min ×1

plyr ×1

r ×1