R-colMeans错误(wind.speed,na.rm = T):“ x”必须为数字

时间:2019-02-27 22:28:55

标签: r text dataset numeric

我正在尝试导入文本文件数据集的单个列,其中每个文件都是一天的数据。我想将每天的风速取平均值。这是我为此编写的代码:

    daily.wind.speed <- c()

    file.names <- dir("C:\\Users\\User Name\\Desktop\\R project\\Sightings Data\\Weather Data", pattern =".txt")

    for(i in 1:length(file.names))
      {
##import data file into data frame
    weather.data <-read.delim(file.names[i])

## extract wind speed column
    wind.speed <- weather.data[3]

##Attempt to fix numeric error
    ##wind.speed.num <- as.numeric(wind.speed)

##Take the column mean of wind speed
    daily.avg <- colMeans(wind.speed,na.rm=T)

##Add daily average to list
    daily.wind.speed <- c(daily.wind.speed,daily.avg)

##Print for troubleshooting and progress
    print(daily.wind.speed)

    }

此代码似乎可以在我的数据集中的某些文件上运行,但是在代码的这一部分,其他代码却给我这个错误:

> daily.avg <- colMeans(wind.speed,na.rm=T)
Error in colMeans(wind.speed, na.rm = T) : 'x' must be numeric

我也很难将这些值转换为数值,并且正在寻找将我的数据转换为数值的方法,或者可能希望以一种不会遇到这个问题的不同方式获取均值。

> as.numeric(wind.speed.df)
Error: (list) object cannot be coerced to type 'double'

weather.data Example

1 个答案:

答案 0 :(得分:0)

即使这不是可重现的示例,问题仍然在于您正在将矩阵函数应用于矢量,因此它将不起作用。只需将$message的{​​{1}}更改为