簡體   English   中英

R中的警告消息<NA>

[英]Warning Message in R about <NA>

我有一個data.frame形式:

Set_1     Set_2     Set_3     Set_4     Set_5     Set_6     Set_7
1.42      0.98      <NA>      <NA>      0.98      2.91      0.40
<NA>      1.11      1.23      1.54      1.99      <NA>      <NA>
<NA>      1.02      0.99      <NA>      0.99      <NA>      1.00
<NA>      <NA>      1.88      0.87      0.32      0.55      1.33

我正在嘗試計算每列超過2.0的百分比

我正在使用代碼percent <- colSums(df > 2.0, na.rm=TRUE)/colSums(!is.na(df))

但我不斷收到警告消息: In Ops.factor(left, right) : > not meaningful for factors 我該如何解決?

您可以將列轉換為numeric ,然后以百分比開頭

dat[] <- lapply(dat, function(x) as.numeric(as.character(x)))
sapply(dat, function(x) sum(x>2, na.rm=T)/nrow(dat))

檢查列類型的一種有用方法是

sapply(dat, class)

另外,正如@RichardScriven指出的那樣,您可以使用以下方法擺脫轉換過程中的煩人警告

dat[] <- suppressWarnings(lapply(dat, function(x) as.numeric(as.character(x))))

暫無
暫無

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

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