相关疑难解决方法(0)

抑制粘贴中的NA()

关于赏金

Ben Bolkerpaste2解决方案产生了一个""粘贴的字符串包含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)

r paste na

32
推荐指数
7
解决办法
3万
查看次数

如何在将多个列值粘贴在一起时省略NA值?

我有一个dd2包含数百列的数据框,我需要做的是将所有这些列值粘贴在一起,省略任何NA值.如果我做这样的事情

apply(dd2, 1, paste, collapse=",")
Run Code Online (Sandbox Code Playgroud)

它实际上包括NAs作为"NA"字符串.我想避免这种情况.我也可以如下所示,但是这会让我一次为每个单独的列工作以获得结果.

result <- cbind(    
    dd2, 
    combination = paste(dd2[,2], replace(dd2[,3], is.na(dd2[,3]), ""), sep = ",")
)
Run Code Online (Sandbox Code Playgroud)

有没有有效的方法呢?以下是示例数据:

dd2 <- structure(c("A", "B", "C", "D", "E", "AK2", "HFM1", NA, "TRR", 
"RTT", NA, "PPT", "TRR", "RTT", NA, "PPT", NA, NA, "GGT", NA), .Dim = c(5L, 
4L), .Dimnames = list(NULL, c("sample_id", "plant", "animal", 
"more")))
Run Code Online (Sandbox Code Playgroud)

r

6
推荐指数
1
解决办法
4260
查看次数

标签 统计

r ×2

na ×1

paste ×1