基本上,我想在向量k中获取元素,但不在向量l中,并将它们附加到向量h。 这是我使用for循环的代码:
k=c(1,2,3,5,8,9)
l=c(3,5,7,5,7,9,64)
h=c()
for (i in k) {
if (!(i %in% l)) {
print(i)
append(h,i)
}
}
运行代码后,矢量h根本没有变化,但应该是c(1,2,8)。
答案 0 :(得分:5)
使用R的矢量化对您有利。你可以做到
k[!k %in% l]
# [1] 1 2 8
答案 1 :(得分:2)
使用append
,您需要分配结果
k=c(1,2,3,5,8,9)
l=c(3,5,7,5,7,9,64)
h=c()
for (i in k) {
if (!(i %in% l)) {
print(i)
h<-append(h,i)
}
}