Ben Bolker的paste2解决方案产生了一个""粘贴的字符串包含NA在同一位置的时间.像这样,
> paste2(c("a","b", "c", NA), c("A","B", NA, NA))
[1] "a, A" "b, B" "c" ""
Run Code Online (Sandbox Code Playgroud)
第四个元素是一个""而不是NA像这样,
[1] "a, A" "b, B" "c" NA
Run Code Online (Sandbox Code Playgroud)
我正在为能解决这个问题的人提供这笔小额奖金.
我已经阅读了帮助页面?paste,但我不明白如何让R忽略NAs.我做了以下,
foo <- LETTERS[1:4]
foo[4] <- NA
foo
[1] "A" "B" "C" NA
paste(1:4, foo, sep = ", ")
Run Code Online (Sandbox Code Playgroud)
得到
[1] "1, A" "2, B" "3, C" "4, NA"
Run Code Online (Sandbox Code Playgroud)
我想得到什么,
[1] "1, A" "2, B" "3, C" "4" …Run Code Online (Sandbox Code Playgroud) 这是先前问题的延伸。如何将数据框的两列组合为
data <- data.frame('a' = c('A','B','C','D','E'),
'x' = c("t",2,NA,NA,NA),
'y' = c(NA,NA,NA,4,"r"))
Run Code Online (Sandbox Code Playgroud)
显示为
'a' 'x' 'y'
A t NA
B 2 NA
C NA NA
D NA 4
E NA r
Run Code Online (Sandbox Code Playgroud)
要得到
'a' 'mycol'
A t
B 2
C NA
D 4
E r
Run Code Online (Sandbox Code Playgroud)
我试过这个
cbind(data[1], mycol = na.omit(unlist(data[-1])))
Run Code Online (Sandbox Code Playgroud)
但它显然没有保留行NA。