写我自己的功能

时间:2016-06-23 16:47:12

标签: r

我是R的初学者并尝试编写R函数。我写的功能就像这样

male <- c(1:10)
female <- c(11:20)
msum <- function(h,j) {
for(i in 1:length(h)){ 
     e <- c()
    e[i] = h[i] + j[i]
    i = i+1
}
e
}

现在当我通过p <- msum(male, female)调用函数时,我将输出作为长度为10的向量,结果为男性和女性向量的总和,但我得到的是长度为10的向量{{1作为前9个位置的值,30作为向量的最后一个值。我哪里错了?

2 个答案:

答案 0 :(得分:0)

请参阅:

male <- c(1:10)
female <- c(11:20)

msum <- function(h,j) {
  e <- c()
  for(i in 1:length(h)){ 

    e[i] = h[i] + j[i]
  }
  e
}
msum(male, female)

[1] 12 14 16 18 20 22 24 26 28 30

答案 1 :(得分:0)

我可能会遗漏一些东西,但我不知道你需要一个用户定义的函数来做这个例子:

male + female

虽然我想你可以把它包装成一个函数:

vect_sum <- function(vec1, vec2) {
    vec1 + vec2
}
vect_sum(male, female)