我正在使用 OlinkAnalyze 包,我正在嘗試制作箱線圖。
install.packages("OlinkAnalyze")
library(OlinkAnalyze)
df = npx_data1
箱線圖的代碼是:
plot <- df %>%
na.omit() %>% # removing missing values which exists for Site
olink_boxplot(variable = "Site",
olinkid_list = c("OID01216", "OID01217"),
number_of_proteins_per_plot = 2)
plot[[1]]
它從olinkID列中獲取值。我想要的是遍歷列,一次選擇接下來的兩個olinkID,制作箱線圖,每次重命名圖(例如plot 1 with OID01216and OID01217and plot 2 withOID01218 OID01219
uj5u.com熱心網友回復:
我使用了一個while回圈。
install.packages("OlinkAnalyze")
library(OlinkAnalyze)
df = npx_data1
i <- 1
ids <- as.data.frame(unique(df$OlinkID))
while(i <= nrow(ids)){
print(i)
x <- i 1
temp <- ids[i:x,]
plotx <- df %>%
na.omit() %>% #
olink_boxplot(variable = "Site",
olinkid_list = c(paste(c(ids[i,],ids[x,]))),
number_of_proteins_per_plot = 2)
plottemp <- assign(paste0("plot_",ids[i,],"_",ids[i,]),plotx)
i <- i 2
}
uj5u.com熱心網友回復:
如果你想要回圈,你可以這樣寫:
for i in seq(from = 1, to = length(data$OlinkID), by = 2){
the plot code
}
這樣,您可以通過data$OlinkID[i]或訪問您想要的兩個觀察結果data$OlinkID[i 1]。
所以箱線圖代碼應該是
plot <- data %>%
na.omit() %>%
olink_boxplot(variable = "Oxwatchtime",
olinkid_list = c(data$OlinkID[i],data$OlinkID[i 1]),
number_of_proteins_per_plot = 2)
如果要保存繪圖,請在回圈中添加 aggsave()或 apng()/pdf()以將它們保存在外部,或者使用 package.json 中的ggarrange()函式創建一個串列ggpubr。讓我知道它是否按您的預期作業。
uj5u.com熱心網友回復:
OlinkAnalyze::olink_boxplot()繪制多個圖,直到olinkid_list繪制引數下指定的所有蛋白質。該number_of_proteins_per_plot引數確定在一個繪圖上繪制的 ID 數量。
嘗試這個:
library(OlinkAnalyze)
data("npx_data1")
ids <- unique(npx_data1$OlinkID)
olink_boxplot(npx_data1,
variable = "Site",
olinkid_list = ids,
verbose = TRUE,
number_of_proteins_per_plot = 2)
代碼會運行一段時間,因為每個繪圖都需要時間來生成。完成后,您可以使用 RStudio 中的箭頭按鈕查看所有繪圖。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/429396.html
