-->

ř合并数据集和表面图(R binning dataset and surface plot)

2019-10-19 04:32发布

我有我想discretise并创建一个三维表面图的大型数据集:

  rowColFoVCell wpbCount Feret

1  001001001001       1  0.58

2  001001001001       1  1.30

3  001001001001       1  0.58

4  001001001001       1  0.23

5  001001001001       2  0.23

6  001001001001       2  0.58

目前有695302行中的这组数据。 我想discretise基于第二列第三个“弗雷德”列,所以每个“wpbCount”斌的“弗雷德”列。

我认为解决方案将涉及使用切,但我不知道如何去这一点。 我想用一个数据帧像这样结束了:

  wpbCount Feret Count

1  1  [0.0,0.2] 3

2  1  [0.2,0.4] 5

3  1  [0.4,0.6] 6

4  1  [0.8,0.8] 9

5  2  [0.0,0.2] 6

6  2  [0.4,0.6] 23

Answer 1:

这是回答第一部分:

创建一些数据

DF <- data.frame(wpbCount = sample(1:1000, 1000),
                 Feret = sample(seq(0, 1, 0.001), 1000))

1)使用离散化砍右= FALSE这样的间隔是[)我通常觉得这比默认更多有用

DF$cut_it <- cut(DF$Feret, right = FALSE,
                 breaks = c(0, 0.2, 0.4, 0.6, 0.8, 1))

2)聚合
表< - data.frame(表(DT $ cut_it))

编辑另一个尝试

library(data.table)
DT <- data.table(DF)
DT <- DT[, list(wpbCount = length(wpbCount),
                Feret = length(Feret)
                ), by=cut_it]

也许你只是想和离散聚合不。 尝试这个:

DF2 <- data.frame(wpbCount = sample(1:3, 1000, replace=T),
                 Feret = sample(seq(0, 1, 0.001), 1000))

DF2$Feret2 <- cut(DF$Feret, right = FALSE,
                 breaks = c(0, 0.2, 0.4, 0.6, 0.8, 1.1))

DF2 <- DF2[, c(1, 3)]


Answer 2:

非常感谢您的帮助我用下面的函数R:

X $仓< - 削(X $费雷特,右= FALSE,断裂= SEQ(0,MAX(wpbFeatures $费雷特),由= 0.1))

Ý<-aggregate(X $仓,由= X [C( 'wpbCount', '仓')],长度)

从你的建议,我已经能够得到我所需要的数据帧:

wpbCount | 斌| X

1 [0.2,0.3)72

2 [0.2,0.3)142

3 [0.2,0.3)224

4 [0.2,0.3)299

5 [0.2,0.3)421

6 [0.2,0.3)479

现在我需要在3D绘制这一点,我不知道如何与非数值列即斌列是因素这么做。

有谁知道我可以暗算对方这三根柱子?



Answer 3:

看看这个链接 。 有一些3D绘图。 然而,3D绘图并不analize数据最伟大的工具。 如果你坚持用3D的方式,尝试stat_contout()从GGPLOT2包。

然而,可能会更好apprach是做在2D的几个地块,或使用facet_grid()。 看看GGPLOT2 当前文档也。

试试这个基础上你最后的答案(未测试):

ggplot(DF, aes(wpbCount , x)) +
  geon_point() +
  facet_grid(. ~ bin)

我们的想法是使用因子变量(在这种情况下,bin)添加到端面的情节。



文章来源: R binning dataset and surface plot
标签: r rgl binning