R:如何让我的for循环打印矢量

时间:2017-04-25 19:39:58

标签: r for-loop if-statement

我需要我的for循环输出一个向量而不是一系列答案。这是我的代码:

mean=211
sd=sqrt(558)
x=rnorm(100,mean,sd)
cost=40

for(i in c(1:100))
{
    if(x[i]<=200)
    {
        profit=x[i]-cost
    }
    else
    {
        profit=200-cost
    }
print(profit)
}

如何将不同的利润打印为一个向量?

1 个答案:

答案 0 :(得分:0)

例如,您可以从profit_array <- numeric(length(x))开始,然后在FOR循环中开始:

  • profit=x[i]-cost添加profit_array[i] <- profit
  • 的新行后
  • profit = 200-cost添加profit_array[i] <- profit
  • 的新行后
  • 最后,print(profit_array)应该做到这一点

希望这有帮助!

编辑:实际上一些评论效率更高。您可以使用矢量化代码绕过整个FOR循环:profit <- pmin(x, 200) - cost