如果一列中的元素不是NA
,我希望paste0
两列。如果一列中的一个元素
是NA
,那么只保留另一列的元素。R paste0 2列如果不是NA
structure(list(col1 = structure(1:3, .Label = c("A", "B", "C"),
class = "factor"), col2 = c(1, NA, 3)), .Names = c("col1", "col2"),
class = "data.frame",row.names = c(NA, -3L))
# col1 col2
# 1 A 1
# 2 B NA
# 3 C 3
structure(list(col1 = structure(1:3, .Label = c("A", "B", "C"),
class = "factor"),col2 = c(1, NA, 3), col3 = c("A|1", "B", "C|3")),
.Names = c("col1", "col2", "col3"), row.names = c(NA,-3L),
class = "data.frame")
# col1 col2 col3
#1 A 1 A|1
#2 B NA B
#3 C 3 C|3
你在哪里卡住了?这应该很容易使用'ifelse'。 – Roland 2014-09-10 14:05:58
你说你想使用'paste0',但你的例子看起来像'paste'的结果... – 2014-09-10 14:13:19
@BenBolker这是我的错字。我的意思是过去0。将纠正它。有没有办法执行这个任务没有ifelse? – DJJ 2014-09-10 14:15:15