R组合数据集和曲面图
我有一个大的数据集,我正试图用它离散并创建一个3d曲面图: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
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)