我有一列具有NA
值的列,我想创建一个新列,该列从另一列获取该值,但仅当它不是NA
时。
例如,我有一个名为PrimaryDiagCat
的列,其中包含一些NAs
,但其余的是诊断类别。我想执行一个case_when,就像这样:
.... mutate(NewDX = case_when(PrimaryDiagCat != "NA" ~ PrimaryDiagCat, .....)
这给我一个错误,因为在~
之后应该是一个因素,而不是列名。有什么建议吗?
谢谢!
与转换功能一起使用ifelse。
df <- data.frame(x=c(1,2, NA), y=c(3,4,5))
x y
1 1 3
2 2 4
3 NA 5
df<- transform(df, z= ifelse( is.na(x) , y, x))
x y z
1 1 3 1
2 2 4 2
3 NA 5 5