如何在R语言的列表中将字符(0)转换为NA?

Tha*_*ise 3 r list

如何使用R语言转换character(0)NA列表?

例:

a = list("a", "character(0)", "b", "c")
Run Code Online (Sandbox Code Playgroud)

a = list("a", "NA", "b", "c")
Run Code Online (Sandbox Code Playgroud)

谢谢.

Psi*_*dom 9

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"
Run Code Online (Sandbox Code Playgroud)

替换所有长度为0的元素:

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

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

#[[2]]
#[1] NA

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

#[[4]]
#[1] "c"
Run Code Online (Sandbox Code Playgroud)