给出两个向量x,y:
x <- c( 1.0, 2.0, 3.0, 4.01, 5.12, 9.59)
y <- c( 0.1, 0.2, 0.3, 0.78, 0.45, 6.78)
在使用向量运算的R符号中(不是用于循环),如何将y除以x的某个子集的总和,其中我指定了索引:
y / ( x[1] + x[2] + x[3] + x[4] )
这与手动取y / 10.01并返回矢量长度y相同。我尝试过使用seq()和子集,但不知道。
答案 0 :(得分:3)
可能使用sum
和head
函数:
> y/sum(head(x, 4))
[1] 0.00999001 0.01998002 0.02997003 0.07792208 0.04495504 0.67732268
您也可以使用seq
y/sum(x[seq(4)])
与@ Rcoster的评论y / sum(x[1:4])