我的作业需要帮助!下面是问题。
将来自一个农场的苹果的平均(平均)重量(克)保存在向量w1中一周,而将同一周收集的苹果数量保存在向量n1中。
w1 <- c(350, 270, 320, 420, 310, 300, 400)
n1 <- c(1220, 780, 563, 1100, 980, 990, 1150)
苹果农场认为最小苹果重量应为350克。计算一周中有多少苹果不符合最低体重标准? (假设一天中的所有苹果的重量相同)
我已经尝试过了:
sum(w1[which(w1>=350)]*n1)
但是我明白了
[1] 2574900
Warning message:
In w1[which(w1 >= 350)] * n1 :
longer object length is not a multiple of shorter object length
答案 0 :(得分:1)
我们需要使用逻辑向量来代替两个向量,而不是1。警告消息是由于这个原因(一个向量是完整向量-n1)而第二个是子集('w1')
i1 <- w1 < 350
sum(w1[i1] * n1[i1])
或者也可以写为
as.numeric(w1[i1] %*% n1[i1])
编辑:根据@RuiBarradas评论