【发布时间】:2016-03-27 00:12:37
【问题描述】:
我的 For 循环中不断出现此错误:
FUN(X[[i]], ...) 中的错误:break/next 没有循环,跳转到顶层
autoAnal <- function(x){
if(!is.numeric(x)){
next
}
m <- median(x, na.rm = T)
a <- mean(x, na.rm = T)
s <- sd(x, na.rm = T)
q <- quantile(x, na.rm = T)
q3 <- q[4]
q1 <- q[2]
outhigh <- (1.5 * q3) + IQR(x, na.rm = T)
outlow <- (1.5 * q1) - IQR(x, na.rm = T)
data.table(Median = m, Average = a, StDev = s,
Outhigh = outhigh, Outlow = outlow)
}
频道数据
频道 六月 七月 十二月
ATM 666 783 333
签证 893 321 321
借记卡 931 134 123
商家 913 111 134
第一个变量 - “通道”不是数字,所以我希望 R 跳过并转到下一个变量。但是,我收到上面的错误。我可以在数值向量上成功运行该函数,但是当我使用数据框或 data.table 时 它不起作用。 当我运行这段代码时,我得到了错误:
test <- lapply(channnel, autoAnal)
我的 for 循环中的“下一个”语句做错了什么?
谢谢。
【问题讨论】:
-
您的代码中没有
for循环。至少不是你认为有的地方。将next替换为return(NULL)就可以了。 -
@brittenb 你能解释下为什么下一个函数不起作用吗?