R组合数据集和曲面图

R组合数据集和曲面图,r,rgl,binning,R,Rgl,Binning,我有一个大的数据集,我正试图用它离散并创建一个3d曲面图: 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 此数据集中当前有69

我有一个大的数据集,我正试图用它离散并创建一个3d曲面图:

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计数
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

这是对第一部分的回答:

创建一些数据

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

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

x$bin看看这个。 这里有一些3d图。然而,3d绘图并不是分析数据的最佳工具。 如果你坚持3d方法,试试看 从ggplot2包中

然而,一种可能更好的方法是在2d中绘制一些图,或者使用facet_grid()。 再看看ggplot2

根据您最后的答案(未测试)尝试此选项:


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

谢谢,这是正确的做法,但我不想将整个数据集分为两部分,而是分别对每个wpbCount进行离散化。但是如果你只是离散化Feret列,你只有两列:wpbCount和Discrete\u Feret。右计数列表示您希望在使用cut()后聚合数据集。您必须选择要聚合的列、wpbCount或Discrete\u Feret。data.table示例通过cut_it进行聚合,即Feret的离散化版本。
DF$cut_it <- cut(DF$Feret, right = FALSE,
                 breaks = c(0, 0.2, 0.4, 0.6, 0.8, 1))
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)]
ggplot(DF, aes(wpbCount , x)) +
  geon_point() +
  facet_grid(. ~ bin)