【发布时间】:2017-02-27 01:40:31
【问题描述】:
我有一个像下面这样的小标题。看到它使用字符“Y”作为值。
require(tidyverse)
df <- data_frame(a = c('Y', NA, 'Y'), b = c(NA, 'Y', NA))
df
# A tibble: 3 × 2
a b
<chr> <chr>
1 Y <NA>
2 <NA> Y
3 Y <NA>
我想创建一个结合其他两个(或更多)的新列,但是更改“Y”以匹配列的名称。在这种情况下,“a”和“b”。比如这个
# A tibble: 3 × 3
a b c
<chr> <chr> <chr>
1 Y <NA> a
2 <NA> Y b
3 Y <NA> a
我非常有信心每行不超过一个“Y”。我不认为我可以使用 gather 或 mutate 解决这个问题
【问题讨论】:
-
之前问过很多次:
names(df)[max.col(!is.na(df))]