【发布时间】:2019-02-05 10:36:03
【问题描述】:
说这是我的数据。
mydat=structure(list(ItemRelation = c(158200L, 158204L), DocumentNum = c(1715L,
1715L), CalendarYear = c(2018L, 2018L), X1 = c(0L, 0L), X2 = c(0L,
0L), X3 = c(0L, 0L), X4 = c(NA, NA), X5 = c(107L, 105L), X6 = c(NA,
NA)), .Names = c("ItemRelation", "DocumentNum", "CalendarYear",
"X1", "X2", "X3", "X4", "X5", "X6"), class = "data.frame", row.names = c(NA,
-2L))
如何创建条件,如果X6=NA,则将NA 替换为X5 的值?
在本例中,所需的输出为:
ItemRelation DocumentNum CalendarYear X1 X2 X3 X4 X5 X6
1 158200 1715 2018 0 0 0 NA 107 107
2 158204 1715 2018 0 0 0 NA 105 105
【问题讨论】:
-
with(mydat, ifelse(is.na(X6), X5, X6)) -
试试
ifelse喜欢ifelse(is.na(X6), X5, X6) -
@RonakShah 看起来像是对我的回答。如果您以评论而不是答案的形式发布,它不能被赞成或反对,或被接受,查看问题队列的人不会看到答案已发布(并且可能被接受)等等......
-
@RonakShah,您重复的帖子对我没有帮助。但是森林生态学家的解决方案很棒
-
@duckmayr 谢谢,我之所以没有将其发布为答案,是因为这个问题似乎是重复的,我正在寻找一个。 :)