我在R中,想要按术语减去两个向量。
这是我的代码
y <- faithful
u_old1 <- c(3.5,80)
# eruptions waiting
#1 3.600 79
#2 1.800 54
#3 3.333 74
# ...
y - u_old1
# eruptions waiting
#1 0.100 75.5
#2 -78.200 -26.0
#3 -0.167 70.5
# ...
我认为R中的回收确实如此。我想要y
减去u_old1
的每一行。所以我应该把第一行作为:
# eruptions waiting
#1 0.100 -1
答案 0 :(得分:2)
这是sweep
的用途:
sweep(y, 2, u_old1)
# eruptions waiting
#1 0.100 -1
#2 -1.700 -26
#3 -0.167 -6
# ...
答案 1 :(得分:1)
如果我正确理解您的问题,您应该使用as.list(u_old1)
代替:
示例:
head(y) - as.list(u_old1)
# eruptions waiting
# 1 0.100 -1
# 2 -1.700 -26
# 3 -0.167 -6
# 4 -1.217 -18
# 5 1.033 5
# 6 -0.617 -25