通过for循环将值附加到向量不起作用
Posted
技术标签:
【中文标题】通过for循环将值附加到向量不起作用【英文标题】:Append values to vector by for loop not working 【发布时间】:2015-01-13 19:43:42 【问题描述】:基本上,我想在向量 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)。
【问题讨论】:
附加功能不起作用。但我找到了简单的工作选择:h = c(h,i) 【参考方案1】: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)
【讨论】:
是的,@RichardScriven 的答案完全更好【参考方案2】:充分利用 R 的矢量化。你可以这样做
k[!k %in% l]
# [1] 1 2 8
【讨论】:
以上是关于通过for循环将值附加到向量不起作用的主要内容,如果未能解决你的问题,请参考以下文章