R binning数据集和曲面图

时间:2013-12-31 03:41:23

标签: r rgl binning

我有一个大型数据集,我试图通过以下方式进行离散并创建一个三维表面图:

  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行。我试图根据第二列来区分第三个'Feret'列,因此对于每个'wpbCount'bin,'Feret'列。

我认为解决方案将涉及使用剪切,但我不知道如何解决这个问题。我想最终得到这样的数据框:

  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

3 个答案:

答案 0 :(得分:1)

这是为了回答第一部分:

创建一些数据

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

1)即将离职 使用cut = right = FALSE,间隔为[) 我通常认为这比默认的

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

2)汇总
    TABLE&lt; - data.frame(table(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)]

答案 1 :(得分:1)

非常感谢您的帮助,我在R中使用了以下功能:

  

x $ bin&lt; - cut(x $ Feret,right = FALSE,breaks = seq(0,max(wpbFeatures $ Feret),by = 0.1))

     

y&lt; -aggregate(x $ bin,by = x [c('wpbCount','bin')],length)

根据您的建议,我能够获得我需要的数据框:

  

wpbCount | bin | 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中绘制这个,我不知道如何使用非数字列,即bin列是因子。

有谁知道如何将这三列相互映射?

答案 2 :(得分:1)

查看此link。 有一些3d图。但是,3d图不是分析数据的最佳工具。 如果您坚持使用3d方法,请尝试stat_contout() 来自ggplot2包。

然而,一个可能更好的评价是在2d做一些图,或使用facet_grid()。 再看看ggplot2 current documentation

根据您的上一个答案(未经测试)尝试此操作:

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

我们的想法是使用因子变量(在本例中为bin)来构图。