如何从r中的另一个向量中减去一个向量

时间:2014-03-29 11:42:16

标签: r

我有一个向量c <- c(1,2,3)和另一个向量d <- c(4,5,6,7)。我想从c的每个元素中减去d的每个元素,以获得R中的list个列表。我该怎么办?谢谢。

3 个答案:

答案 0 :(得分:7)

x <- 1:3
y <- 4:7
lapply(x, `-`, y)
[[1]]
[1] -3 -4 -5 -6

[[2]]
[1] -2 -3 -4 -5

[[3]]
[1] -1 -2 -3 -4

答案 1 :(得分:4)

a <- 1:3
b <- 4:6

a - b
# [1] -3 -3 -3

这是一个基本问题,请考虑阅读An Introduction to R

编辑:

a <- 1:3
b <- 4:7
lapply(a, function(x)x-b)
# [[1]]
# [1] -3 -4 -5 -6
# [[2]]
# [1] -2 -3 -4 -5
# [[3]]
# [1] -1 -2 -3 -4

答案 2 :(得分:3)

如果您对结果outer而不是matrix感到满意,则

list会这样做:

a <- 1:3
b <- 4:7

outer(a, b, "-")
#      [,1] [,2] [,3] [,4]
# [1,]   -3   -4   -5   -6
# [2,]   -2   -3   -4   -5
# [3,]   -1   -2   -3   -4