我有一个像这样的向量:
x = c(1,2,3,4,5,6,4,5,6,7)
> x
[1] 1 2 3 4 5 6 4 5 6 7
Run Code Online (Sandbox Code Playgroud)
我想摆脱重复并得到这样的东西:
> [1] 1 2 3 7
Run Code Online (Sandbox Code Playgroud)
我的尝试
y = x[duplicated(x)]
> y
[1] 4 5 6
> x[x!=y]
[1] 1 2 3 7
Warning message:
In x != y : longer object length is not a multiple of shorter object length
>
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
我应该担心这个错误吗?
还有另一种方法可以做到而不会出错吗?
假设我们的初始数据框如下所示:
df1 = data.frame(Index=c(1:6),A=c(1:6),B=c(1,2,3,NA,NA,NA),C=c(1,2,3,NA,NA,NA))
> df1
Index A B C
1 1 1 1 1
2 2 2 2 2
3 3 3 3 3
4 4 4 NA NA
5 5 5 NA NA
6 6 6 NA NA
Run Code Online (Sandbox Code Playgroud)
另一个数据框包含col B和C的新信息
df2 = data.frame(Index=c(4,5,6),B=c(4,4,4),C=c(5,5,5))
> df2
Index B C
1 4 4 5
2 5 4 5
3 6 4 5
Run Code Online (Sandbox Code Playgroud)
如何更新df1中的缺失值,使其如下所示:
Index A B C
1 1 1 1 1
2 2 2 2 2
3 3 3 …Run Code Online (Sandbox Code Playgroud)