我写了这个函数:
calculate_percentage = function(x){
for (i in 1:length(x)) {
x[i] = x[i]*100/x[length(x)]
return(x)
}
}
但是当我将此函数应用于任何矢量时,它将不起作用。载体保持不变。但是,函数本身内部的循环可以正常工作。有人可以向我解释吗?
答案 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)
我猜你想返回所有值的百分比转换,所以我将返回值移到了循环之外