我有一個包含 14 個系數串列的串列。每個子串列是一個區域的四分之一。我需要將 1-14 的系數繪制為 X(時間行程),將系數本身繪制為 Y,每個區域都有不同的圖表。一個可重現的例子是:
iris1 <- iris
iris2 <- iris
iris3 <- iris
iris_list <- list(iris, iris1, iris2, iris3)
res = lapply(iris_list, function(x){
test <- dlply(x, "Species", function(x) lm(Sepal.Length ~ Sepal.Width, data = x))
return(test)
})
現在,我需要將 [
這里,每個圖是一個區域(物種),x 是時間。謝謝!為了澄清起見,我不必繪制截距。
uj5u.com熱心網友回復:
你想做什么不是很清楚,但我試著猜測:首先,我改變了你的例子來注入一些隨機性,所以線圖不會是一條平線。其次,我從res每個子串列的每個物種的系數中提取,并將其轉換為長格式資料框(帶有reshape2::melt)。最后,我繪制了dfusing speciesas facetting 變數
library(ggplot2)
library(plyr)
set.seed(4)
index <- lapply(1:4,function(x){sample(1:150,100,replace = T)})
iris_list <- lapply(index,function(ind){
iris[ind,]
})
res <- lapply(iris_list, function(x){
test <- plyr::dlply(x, "Species", function(x) lm(Sepal.Length ~ Sepal.Width, data = x))
return(test)
})
df <- as.data.frame(sapply(res,function(x){
do.call(rbind,lapply(x,coef))[,-1]
}))
df$species <- rownames(df)
m <- reshape2::melt(df)
m$variable <- as.integer(m$variable)
ggplot(m,aes(x=variable,y=value))
geom_line(aes(group=species))
facet_wrap(~species)
這給了你這個圖:
現在你必須通過更改theme選項和添加來自定義圖col
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/319257.html
下一篇:使用ggplot為分位數添加顏色
