【发布时间】:2016-09-13 12:10:18
【问题描述】:
我正在尝试根据它们在数据框中的分位数为一系列向量分配一个从 1 到 10 的数字。
到目前为止我已经尝试过
quants <- quantile(Data$Avg, c(.1, .2, .3, .4, .5, .6, .7, .8, .9))
Data$quant <- for ( i in nrow(Data) ) {
ifelse(Data$Avg [i] < quants[1], Data$quant[1] = 1 ,
ifelse(Data$Avg [i] > quants[1] & Data$Avg[i] < quants[2], Data$quant[1] = 2, Data$quant = 3
))}
我得到以下错误:
谁能发现我在这里犯的错误?
【问题讨论】:
-
尝试使用常规 if 语句而不是
ifelse -
有一堆语法错误。例如,
Data$quant[1] = 1应该是1,并且不需要使用for循环。我会考虑使用cut或findInterval。
标签: r if-statement