2017-06-26 29 views
1

如何使用R語言將character(0)轉換爲NA如何使用R語言將字符(0)轉換爲NA列表?

實施例:

a = list("a", "character(0)", "b", "c") 

a = list("a", "NA", "b", "c") 

感謝。

+0

像:'lapply(一個,函數(x)如果( x =='character(0)')'NA'else x)'? – MichaelChirico

+0

它真的是一個包含短語「字符(0)」的字符串嗎? – Dason

+0

我懷疑你給了我們錯誤的輸入,你真正想要的更像是:'lapply(a,function(x)if(!length(x)&& is.character(x))NA_character_ else x)' – MichaelChirico

回答

2

替換character(0)只(假設你的意思character(0)代替"character(0)"):

a = list("a", character(0), "b", "c") 

lapply(a, function(x) if(identical(x, character(0))) NA_character_ else x) 

#[[1]] 
#[1] "a" 

#[[2]] 
#[1] NA 

#[[3]] 
#[1] "b" 

#[[4]] 
#[1] "c" 

替換所有長度爲0的元素:

a[lengths(a) == 0] <- NA_character_ 

a 
#[[1]] 
#[1] "a" 

#[[2]] 
#[1] NA 

#[[3]] 
#[1] "b" 

#[[4]] 
#[1] "c" 
+0

完美! TKS! – Thaise

1

a[a=="character(0)"] <- "NA"

鑑於您的例子,這提供你問什麼,但實際上你想要什麼有關係嗎?

相關問題