【发布时间】:2017-02-21 17:07:34
【问题描述】:
我想自动化以下过程:
从向量中获取最小值和最大值,并在给定特定步长的情况下定义从最小值到最大值的步长。向量内的每个值现在都被分配给一个label(因子级别),它属于这个范围,例如当值为27.45 时为"20-30"。
目前我正在使用这个for循环
for (label_willi_counter in 1:length(willi)) {
if(willi[label_willi_counter] < 10)
label_willi = c(label_willi, "0 - 10")
else if(willi[label_willi_counter] < 20)
label_willi = c(label_willi, "10 - 20")
else if(willi[label_willi_counter] < 30)
label_willi = c(label_willi, "50 - 30")
else if(willi[label_willi_counter] < 40)
label_willi = c(label_willi, "30 - 40")
else if(willi[label_willi_counter] < 50)
label_willi = c(label_willi, "40 - 50")
else if(willi[label_willi_counter] < 60)
label_willi = c(label_willi, "50 - 60")
else if(willi[label_willi_counter] < 70)
label_willi = c(label_willi, "60 - 70")
else if(willi[label_willi_counter] < 80)
label_willi = c(label_willi, "70 - 80")
else if(willi[label_willi_counter] < 90)
label_willi = c(label_willi, "80 - 90")
else
label_willi = c(label_willi, "90 - 100")
}
它正在工作,但我确信有更好(并且可能更快)的方法来做到这一点。此示例已针对minimum = 0 和maximum = 100 和step-size = 10 进行了修复。我正在寻找一种更通用的方法来做到这一点。
【问题讨论】:
-
听起来像是
?cut的工作。 -
谢谢,这是一个非常快速的答案,正是我想要的