R - 参数不是数字或逻辑:返回NA

时间:2016-02-18 15:25:17

标签: r

我试图从excel表中读取数据的平均值。

library(readxl)
URL <- "C:/Users/user/Documents/R/test.xlsx"
pivot <- read_excel(URL,sheet=2)
pivot
mean(pivot$Experimental)

以下Excel中的数据。执行上述代码时,此数据将显示在控制台窗口中。

 Experimental   Comparison
   -0.255      -0.324
   -0.213      -0.185
   -0.190      -0.299
   -0.185      -0.144
   -0.045      -0.027
   -0.025      -0.039
   -0.015      -0.264
    0.003      -0.077
    0.015      -0.017
    0.020      -0.169
    0.023      -0.096
    0.040      -0.330
    0.040      -0.346
    0.050      -0.191
    0.055      -0.128
    0.058      -0.182  

我收到以下警告信息,平均功能的结果为NA。

Warning message:
In mean.default(pivot$Experimental) :
  argument is not numeric or logical: returning NA

2 个答案:

答案 0 :(得分:4)

似乎R的平均值在数据帧中表现不佳。一种解决方法是在取均值之前将数据转换为规则矩阵:

mean(data.matrix(pivot$Experimental))

答案 1 :(得分:3)

@Ayubx @nicola向你提出的问题是你如何看待角色的意思?你不能,所以你需要将字符转换为数字。以下是一个例子。

> d <- c("5","7")
> str(d)
chr [1:2] "5" "7"
> e <- as.numeric(d)
> str(e)
num [1:2] 5 7
> mean(d)
[1] NA
Warning message:
In mean.default(d) : argument is not numeric or logical: returning NA
> mean(e)
[1] 6