我在R中的合并命令遇到了一些麻烦,我尝试将值放入箱中,然后可以将其用作图的颜色值。我想保留分位数值作为图例使用,所以我也将它们合并回原始数据框。R'合并'正在改变合并数据帧中的数据
我现在的问题是,当我这样做时,我将分位数合并回原始数据框以创建新数据框时,原始值发生了变化。我可能做了一些明显错误的事情,但一段时间以来一直在玩弄这个问题,搜索“合并正在改变数据”并没有返回任何有关我遇到麻烦的无意的“改变数据”类型。谢谢!
# create random data
x=rnorm(100,100,25)
x=as.data.frame(x)
# create bins to place the data in
quantiles=quantile(x,c(seq(.05,.95,.05)))
quantiles=as.data.frame(quantiles)
# create bin number to merge upon later
quantiles$binnumber=c(1:dim(quantiles)[1])
# create bin number in x to merge upon later
x$binnumber=tapply(x$x,cut(x$x,quantiles$quantiles))
merged=merge(x,quantiles,by="binnumber")
# should work right? note the difference in summary,
# it seems the high and low values got changed
# somehow while the middle values did not.
summary(x$x)
Min. 1st Qu. Median Mean 3rd Qu. Max.
39.35 83.15 95.67 98.92 116.30 190.80
summary(merged$x)
Min. 1st Qu. Median Mean 3rd Qu. Max.
60.62 84.46 95.67 97.92 114.20 136.40
有没有合并的[[“xx”]]?这里可能有名字冲突。 – asb
合并时试试'all = TRUE'? –
我想你可能也想改变你如何使用'cut',除非你打算把许多'x'值分配给bin。 – joran