首页 > 解决方案 > R中的平均问题

问题描述

我在数据框中有一列,我试图找到平均值。我用了:

mean(dat$Age, na.rm=TRUE)

并得到一个数字或逻辑运算符错误的错误。意识到有一个非数值,我使用以下方法修复它:

dat[10, 2] #- value in Age column on row 10

我又试了一次,仍然得到数字错误。

编辑:我需要将函数定义为一个新变量。

标签: rmean

解决方案


在取平均值之前,您可以尝试将输入向量转换为数字。这将导致分配非数值NA,然后您可以在调用meanusing时将其删除na.rm=TRUE

x <- c(1, 'Hello', 3)
mean(as.numeric(x), na.rm=TRUE)

[1] 2

这将生成一条警告消息,但至少它会运行。

作为一般性评论,最好不要在同一向量、列等中混合数字和非数字数据。


推荐阅读