簡體   English   中英

使用ggplot2在data.frame中的所有列上執行lm功能

[英]Using ggplot2 for lm function on allcolumns in data.frame

我的數據如下圖所示:

Fasting_glucose sample  Prevotella  Turicibacter    Mitsuokella Description
138 PCS119F 0.005782    0   0   Known_Diabetic
114 PCS119M 0.062654    0.000176    0.020358    New_Diagnosed
100 PCS11F  0.33044 0.000469    0.000352    New_Diagnosed
88  PCS120M 0.097811    0.000135    0   Normoglycemic
228 PCS125F 0.17703 0.000264    0.06429 Known_Diabetic
98  PCS127M 0.466902    0   0.011735    Normoglycemic
148 PCS130F 0.186682    0   0.000131    New_Diagnosed
233 PCS132F 0.003126    0   0   Known_Diabetic

我想使用lm函數來繪制使用描述列作為分組變量的Fasting_glucose與所有其他列之間的簡單線性回歸。

目前,我正在嘗試使用以下腳本:

Prevotella<-ggplot(fasting.glucose, aes(Fasting_glucose, Prevotella)) +
geom_point() +
geom_smooth(method="lm")+ geom_point(aes(size = Fasting_glucose))+geom_point(aes(fill=Description, size=Fasting_glucose),  shape=21)+theme(panel.background = element_rect(fill='white', colour='black')) + theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank())

但是它一次只生產一個地塊。

因此,只想問一下如何應用lm函數並一次為所有列繪制它。

您需要整理數據才能與ggplot2一起使用。 這意味着裝入reshape2包並使用melt功能。

library(ggplot2)
library(reshape2)

x <- read.table(text = "Fasting_glucose sample  Prevotella  Turicibacter    Mitsuokella Description
138 PCS119F 0.005782    0   0   Known_Diabetic
114 PCS119M 0.062654    0.000176    0.020358    New_Diagnosed
100 PCS11F  0.33044 0.000469    0.000352    New_Diagnosed
88  PCS120M 0.097811    0.000135    0   Normoglycemic
228 PCS125F 0.17703 0.000264    0.06429 Known_Diabetic
98  PCS127M 0.466902    0   0.011735    Normoglycemic
148 PCS130F 0.186682    0   0.000131    New_Diagnosed
233 PCS132F 0.003126    0   0   Known_Diabetic", header = TRUE)

y <- melt(x, id.vars = c("Fasting_glucose", "sample", "Description"))

ggplot(y, aes(Fasting_glucose, value, colour = Description)) + geom_point() +
geom_smooth(method = "lm") + facet_wrap(~ variable)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM