编辑:我在共享的先前代码中犯了一个错误。我用“ b”代替了“箱”,但是错过了一个。
我现在也使用正确的data.frame(y而不是原始的df.score)
新代码:
# some data
x <- runif(1000)
x2 <- rnorm(1000)
y <- data.frame(x,x2)
# we want to bin the dataframe y acording to values in x into b bins
b = 10
bins=10
# we create breaks in several ways
breaks=unique(quantile(x, probs=seq.int(0,1, by=1/b)))
breaks=unique(quantile(y$x, probs=seq.int(0,1, length.out=b+1)))
# now to the question
# this wokrs
y$b <- with(y, cut(x, breaks=unique(quantile(x, probs=seq.int(0,1, length.out=11))), include.lowest=TRUE))
table(y$b)
# this works too
y$b2 <- with(y, cut(x, breaks=unique(quantile(x, probs=seq.int(0,1, length.out=(bins+1)))), include.lowest=TRUE))
table(y$b2)
# this does not work
y$b3 <- with(y, cut(x, breaks=unique(quantile(x, probs=seq.int(0,1, length.out=(b+1)))), include.lowest=TRUE))
seq.int(0,1,length.out =(b + 1))中的错误:'length.out'必须为非负数另外:警告消息:在Ops.factor(b,1)中:+对因素没有意义
现在,如果我拆分代码,就没有问题了!!!
brks=unique(quantile(x, probs=seq.int(0,1, length.out=(b + 1))))
y$b3 <- with(y, cut(x, breaks=brks, include.lowest=TRUE))
我在这里迷路了...
这是更多动态代码的一部分,这些代码根据数据集中的详细信息编织在一起。
因此,我想即时创建垃圾箱并对其进行报告。该代码现在可以工作,但是我不明白为什么当我使用“ bins”一词时代码可以工作,而当使用“ b”时却失败了...?
从这里开始,我需要将bin动态添加到数据框,以便稍后对其进行报告。
# some data
x <- runif(1000)
x2 <- rnorm(1000)
y <- data.frame(x,x2)
# we want to bin the dataframe y acording to values in x into b bins
b = 10
# we create breaks in several ways
breaks=unique(quantile(x, probs=seq.int(0,1, by=1/b)))
breaks=unique(quantile(y$x, probs=seq.int(0,1, length.out=b+1)))
# now to question
# this works
y$bins <- with(df.score, cut(x, breaks=unique(quantile(Pchurn, probs=seq.int(0,1, length.out=11))), include.lowest=TRUE))
table(y$bins)
因此,如果我想直接使用bin var进行完全相同的操作,它将失败:
# this does not work
y$bins <- with(df.score, cut(x, breaks=unique(quantile(Pchurn, probs=seq.int(0,1, length.out=bins+1))), include.lowest=TRUE))
Error in seq.int(0, 1, length.out = (bins + 1)) :
'length.out' must be a non-negative number
In addition: Warning message:
In Ops.factor(bins, 1) : + not meaningful for factors
我在这里想念什么?
我想你想这个(代b
用于bins
在长度参数计算仅低于“#这不工作”:
y$bins <- with(df.score, cut(x,
breaks=unique(quantile(Pchurn,
probs=seq.int(0,1, length.out=b+1))),
include.lowest=TRUE))
没有分数变量和目标的更完整描述就很难测试,但是至少代码不会在工作空间中引发错误。
df.score=data.frame(Pchurn=rnorm(100), x=rnorm(100))
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句