我有一个看似简单的问题,我很难过。我有一个df,说:
x y z
0 1 2
3 5 4
1 0 5
0 5 0
和另一个:
x y z
1 5 6
2 4 5
4 5 7
5 8 5
我想用df2中的值替换df1中的零值。例如,df1的单元格1将是1而不是零。我想要这个数据帧中的所有列。你能帮我代码吗?我似乎无法弄明白。谢谢!
答案 0 :(得分:1)
首先,您可以使用which
zero_locations <- which(df1 == 0, arr.ind=TRUE)
然后,您可以使用这些位置进行替换:
df1[zero_locations] <- df2[zero_locations]
David Arenburg在评论中指出,which
并非绝对必要:
zero_locations <- df1 == 0
也可以。