for循环警告消息:数值表达式有3个元素:只使用第一个元素

时间:2017-05-01 17:35:59

标签: r for-loop

这是我为以下代码获取的警告消息。可以帮助找出可能出现的问题吗?

"警告讯息: 1:x:数值表达式有3个元素:只使用第一个"

x1 <- c(4,17,25)

sum_function <- function(x){

  sum_fun <- 0

  for(i in 1:length(x)) {

    sum_fun <- sum_fun + i
  }

  return(sum_fun)
}

sum_function(x1)

1 个答案:

答案 0 :(得分:1)

如果你想要一个x {1},你应该写一下:

sum

sum(x1) # or perhaps cumsum(x1) if cumulative sums were desired. - 函数的第二个参数不应该是一个多元素向量,尽管上面的代码实际上并没有犯这个错误。您可以使用以下命令获取相同的警告消息:

:

警告来自x1 <- c(4,17,25) junk_function <- function(x){ z <- 0 for(i in 1:x ) { z <- z + i } } junk_function(x1) 函数,而是来自for - 函数。正确的版本取决于您的任务或目标:

: