使用循环计算R中的基本和

时间:2015-09-01 03:20:03

标签: r for-loop sum

我设置x = 1:2,y = 1:2,我想显示所有x + y结果2 3 4.但它只打印2和4.

 public override void OnBackPressed()
 {

 }

3 个答案:

答案 0 :(得分:2)

如果您想要所有组合,可以使用outer而不是显式循环执行此操作:

x <- 1:2
y <- 1:2
outer(x, y, FUN='+')
##      [,1] [,2]
## [1,]    2    3
## [2,]    3    4

然后,您可以将此矩阵缩减为c的向量,并使用unique获取唯一条目:

unique(c(outer(x, y, FUN='+')))
## [1] 2 3 4

答案 1 :(得分:2)

您可以使用expand.grid获取x和y的所有组合

dat <- expand.grid(x=x, y=y)
dat
  x y
1 1 1
2 2 1
3 1 2
4 2 2

然后使用rowSums

计算总和
rowSums(dat)
[1] 2 3 3 4

或唯一的rowSums

unique(rowSums(dat))
[1] 2 3 4

答案 2 :(得分:1)

如果您需要所有组合,请使用

i<-0
abc <- array()
for(x in 1:2){
  for(y in 1:2){
     i <- i + 1
     abc[i] <- y+x
  }
}  

如果您只需要独特的combinatinos,

unique(abc)