r - 如何更改点并向云图添加回归(使用 R)?

标签 r ggplot2 3d regression lattice

为了弄清楚我在问什么,我创建了一个简单的例子。第一步是创建一些数据:

gender <- factor(rep(c(1, 2), c(43, 41)), levels = c(1, 2),labels = c("male", "female"))
numberofdrugs <- rpois(84, 50) + 1
geneticvalue <- rpois(84,75)
death <- rpois(42,50) + 15
y <- data.frame(death, numberofdrugs, geneticvalue, gender)

所以这些是一些随机日期合并为一个 data.frame .因此,从这些日期开始,我想绘制一个云,在那里我可以区分男性和女性,并在其中添加两个简单的回归(一个用于女性,一个用于男性)。所以我已经开始了,但我无法达到我想要的地步。请看下面我到目前为止所做的:
require(lattice)
cloud(y$death~y$numberofdrugs*geneticvalue)

cloud plot in basic form
xmale <- subset(y, gender=="male")
xfemale <- subset(y, gender=="female")

death.lm.male <- lm(death~numberofdrugs+geneticvalue, data=xmale)
death.lm.female <- lm(death~numberofdrugs+geneticvalue, data=xfemale)

使用云命令时如何为男性或女性制作不同的点(例如蓝色和粉红色点,而不仅仅是蓝色十字),以及如何将两个估计模型添加到云图?

任何想法表示赞赏!谢谢你的想法!

最佳答案

回答您问题的前半部分,“使用云命令时如何为男性或女性制作不同的点(例如,蓝色和粉红色的点仅由蓝色十字组成)?”

 cloud( death ~ numberofdrugs*geneticvalue , groups=gender, data=y )

grouped cloud plot

对此的元答案可能涉及一些非 3d 可视化。也许您可以使用lattice 或ggplot2 将数据分成小倍数?添加回归结果可能会更容易理解,也可能更容易。
splom( ~ data.frame( death, numberofdrugs, geneticvalue ), groups=gender, data=y )

splom

默认的 splom 面板函数是 panel.pairs,您可以修改它以添加回归线,而不会带来很大的麻烦。

ggplot2 很容易在绘图矩阵内进行回归,但我无法让颜色起作用。
pm <- plotmatrix( y[ , 1:3], mapping = aes(color=death) )
pm + geom_smooth(method="lm")

plotmatrix

最后,如果你真的想用回归平面做一个云图,这里有一种使用 scatterplot3d 包的方法。请注意,我更改了数据以查看更有趣的结构:
numberofdrugs <- rpois( 84, 50 ) + 1
geneticvalue <- numberofdrugs + rpois( 84, 75 )
death <- geneticvalue + rpois( 42, 50 ) + 15
y <- data.frame( death, numberofdrugs, geneticvalue, gender )

library(scatterplot3d) 
pts <- as.numeric( as.factor(y$gender) ) + 4
s <-scatterplot3d( y$death, y$numberofdrugs, y$geneticvalue, pch=pts, type="p", highlight.3d=TRUE )
fit <- lm( y$death ~ y$numberofdrugs + y$geneticvalue )
s$plane3d(fit)

scatterplot3d with regression plane

关于r - 如何更改点并向云图添加回归(使用 R)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6774777/

相关文章:

r - 多组密度图

r - 当 N 很小时,隐藏 geom_boxplot() 中的框和须线

Python将 map 绘制到球体上

r: zApply 在并行计算中

r - dplyr - 聚合不正确?

r - 在 ggplot 中,如何仅在箱线图中的特定条形上方打印计数?

math - 为什么在着色器中反转向量矩阵多序是合法的?

javascript - codepen 上有一个作品是用三个 js 做的,我们想改变它的颜色

r - 从数据框中的字符串创建日期

r - 在插入符号中拟合无截距模型