簡體   English   中英

R-colMeans錯誤(wind.speed,na.rm = T):“ x”必須為數字

[英]R - Error in colMeans(wind.speed, na.rm = T) : 'x' must be 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示例

即使這不是一個可重現的示例,問題仍然是您正在將矩陣函數應用於矢量,因此它將不起作用。 只需將colMeans更改為mean

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM