對于這個問題,我正在嘗試創建多個可以對其應用函式的向量。我使用的函式是patchwork::area.
例如,如果我要明確地寫出一個要繪制的設計區域,patchwork我會這樣做:
library(patchwork)
# Explicitly writing out each area
design <- c(
area(1, 1, 9, 9),
area(1,10),
area(2,10),
area(3,10),
area(4,10),
area(5,10),
area(6,10),
area(7,10),
area(8,10),
area(9,10)
)
# example of what the plot area would look like
plot(design)
這看起來像:

本質上,我正在嘗試自動化design上面的向量。我通過使用lapply創建區域串列來嘗試此操作,如下所示:
# create some data
vals = seq(1:9)
maxVal <- max(vals)
# use lapply
areaList <- lapply(vals, function(x) area(x, maxVal 1))
這將創建一個區域串列,不包括design上面物件的第一行......但我不知道如何將它變成design上面的物件。
一個天真的嘗試(不起作用)是做類似下面的代碼的事情(它試圖包括design物件的第一行)
designTest <- c(area(1, 1, maxVal, maxVal),
areaList)
關于我如何實作這一目標的任何建議?
uj5u.com熱心網友回復:
您需要areaList在繪圖之前組合這樣的元素:
library(patchwork)
library(purrr)
vals = seq(1:9)
maxVal <- max(vals)
areaList <- lapply(vals, function(x) area(x, maxVal 1))
a <- reduce(areaList, c)
plot(a)
這應該有效!
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/352294.html
上一篇:用R中的圖替換條形圖x軸標簽?
