r - R中的平均问题
问题描述
我在数据框中有一列,我试图找到平均值。我用了:
mean(dat$Age, na.rm=TRUE)
并得到一个数字或逻辑运算符错误的错误。意识到有一个非数值,我使用以下方法修复它:
dat[10, 2] #- value in Age column on row 10
我又试了一次,仍然得到数字错误。
编辑:我需要将函数定义为一个新变量。
解决方案
在取平均值之前,您可以尝试将输入向量转换为数字。这将导致分配非数值NA
,然后您可以在调用mean
using时将其删除na.rm=TRUE
:
x <- c(1, 'Hello', 3)
mean(as.numeric(x), na.rm=TRUE)
[1] 2
这将生成一条警告消息,但至少它会运行。
作为一般性评论,最好不要在同一向量、列等中混合数字和非数字数据。