【发布时间】:2016-01-10 12:00:07
【问题描述】:
我正在尝试将 rowwise 和 mutate 与可以返回 NA 值的函数一起使用,但出现错误。考虑这个人为的例子(这显然不是按行的情况,但说明了错误):
这行得通:
library(dplyr)
data.frame(k=rnorm(10)) %>% mutate(l = ifelse(k > 0, 1, NA))
k l
1 -1.40223573 NA
2 1.47581873 1
3 0.35938746 1
4 0.87240448 1
5 -0.61991535 NA
6 -1.88152820 NA
7 0.25837350 1
8 -0.02250385 NA
9 0.92757943 1
10 0.49023792 1
但这会报错:
library(dplyr)
data.frame(k=rnorm(10)) %>% rowwise() %>% mutate(l = ifelse(k > 0, 1, NA))
Error: incompatible types, expecting a numeric vector
【问题讨论】: