對這里的 R 非常陌生。
我有一個帶有字符列“col1”的資料框:
col1 <- c("org","blorg","forg","chorg","horg","blorg","horg","phthorg")
col2 <- c("a","b","c","d","a","b","e","f")
df<-data.frame(col1, col2)
我想將少于 5 個字符的值設定為缺失,所以我最終得到:
c(NA,"blorg",NA,"chorg",NA,"blorg",NA,"phthorg")
我嘗試了以下方法:
if(nchar(as.character(df$col1))<5) {df$col1<-NA}
但我收到錯誤“條件長度> 1”。
uj5u.com熱心網友回復:
nchar
是矢量化的,所以我們可以直接應用而不是if/else
(它需要一個 TRUE/FALSE 作為輸入)或者可以使用ifelse/replace/case_when
矢量化的,但它不是必需的,因為我們只需要根據條件替換為 NA
df$col1[nchar(df$col1) <5] <- NA
-輸出
> df$col1
[1] NA "blorg" NA "chorg" NA "blorg" NA "phthorg"
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/529066.html
標籤:r
上一篇:FIPS平均多列