我有一个巨大的向量,它有NA个值,我试图在这个向量中找到最大值(向量都是数字),但我不能这样做,因为有NA个值.

如何删除NA个值,以便计算最大值?

推荐答案

try ?max,你会发现它实际上有一个na.rm =参数,默认设置为FALSE.(这是许多其他R函数的常见默认值,包括sum()mean()等)

设置na.rm=TRUE正好满足您的要求:

d <- c(1, 100, NA, 10)
max(d, na.rm=TRUE)

如果您确实想删除所有NA个,请使用以下习惯用法:

d <- d[!is.na(d)]

最后一点注意:其他函数(例如table()lm()sort())有NA个使用不同名称(并提供不同选项)的相关参数.因此,如果NA导致函数调用出现问题,那么值得判断函数参数中的内置解决方案.我发现已经有usually个了.

R相关问答推荐

Select 与特定列中最大值对应的数据帧行

如何提高以键ID为列的表中键查找的效率?

混淆矩阵,其中每列和等于1

如何对数据集进行逆向工程?

如何使用R对每组变量进行随机化?

我想在R中总结一个巨大的数据框架,使我只需要唯一的lat、lon、Date(Year)和Maxium Value""""""""

为什么当用osmdata映射R时会得到相邻状态?

如何计算多个日期是否在一个日期范围内

如何读取CSV的特定列时,给定标题作为向量

使用R中的正则表达式将一列分割为多列

根据现有列的名称和字符串的存在进行变异以创建多个新列

在R中,我如何使用滑动窗口计算位置,然后进行过滤?

是否有新方法来更改Facet_WRAP(Ggplot2)中条文本的文本 colored颜色 ?

在数据帧列表上绘制GGPUP

如何计算R glm probit中的线性预测因子?

将具有坐标列表列的三角形转换为多个多边形

使用ggplot2中的sec_axis()调整次轴

使用ifElse语句在ggploy中设置aes y值

如何将宽格式的患者信息数据高效地转换为患者计数的时间序列?

需要一个函数来在第一行创建一个新变量,然后用新变量替换一个不同的变量(对于多行)