即使函数内部的循环是为什么我的函数也不能正常工作

时间:2019-09-10 15:15:28

标签: r function loops

我写了这个函数:

calculate_percentage = function(x){
  for (i in 1:length(x)) {
    x[i] = x[i]*100/x[length(x)]
    return(x)
  }
}

但是当我将此函数应用于任何矢量时,它将不起作用。载体保持不变。但是,函数本身内部的循环可以正常工作。有人可以向我解释吗?

1 个答案:

答案 0 :(得分:5)

calculate_percentage = function(x){
  for (i in 1:length(x)) {
    x[i] = x[i]*100/x[length(x)]

  }
  return(x)
}


x <- c(1,2,3,4,5,6,7,8,9)

x <- calculate_percentage(x)

我猜你想返回所有值的百分比转换,所以我将返回值移到了循环之外