[英]Subtract a single vector element from List of vectors
我有一個包含 n 個不同長度的向量的列表r
。 還有一個長度為 n 的單獨向量a
x <- 1:100
r <- slider(x,.size=5)
a <- 1:length(r)
從列表中的每個向量的每一個元素r
我要減去的元素a
。 因此,應從r
的第一個向量的每個元素中減去a
的第一個元素。
像這樣,但規模更大,並將向量保留在列表r
r[1]-a[1]
r[2]-a[2]
r[3]-a[3]
這給了我Error in r[1] - n[1] : non-numeric argument to binary operator
免責聲明:示例中r
的向量沒有不同的長度。 生成示例時我不知道如何執行此操作。
您可以使用Map
:
Map(`-`, r, a)
可以從@RonakShah 獲得相同的結果:
mapply(`-`,r,a)
輸出:
[[1]]
[1] 0 1 2 3 4 5 6 7
[[2]]
[1] -1 0 1 2 3 4 5 6 7
[[3]]
[1] -2 -1 0 1 2 3 4 5 6 7
我們可以使用for
循環
out <- vector('list', length(r))
for(i in seq_along(r)) {
out[[i]] <- r[[i]] - a[i]
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.