老实说,我不知道如何使其可重现。使用 tidyverse 在 R 中发生的任何错误都会抛出:
Error in app$vspace(new_style$`margin-top` %||% 0) :
attempt to apply non-function
Run Code Online (Sandbox Code Playgroud)
还有其他人看过这个吗?
编辑:这是 sessionInfo() 输出:
R version 4.0.4 (2021-02-15)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 18363)
Matrix products: default
locale:
[1] LC_COLLATE=English_United Kingdom.1252 LC_CTYPE=English_United Kingdom.1252 LC_MONETARY=English_United Kingdom.1252 LC_NUMERIC=C
[5] LC_TIME=English_United Kingdom.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] rstatix_0.7.0 plotly_4.10.0 ggpubr_0.4.0 forcats_0.5.1 stringr_1.4.0 dplyr_1.0.4 purrr_0.3.4 readr_2.1.2 tidyr_1.2.0 tibble_3.0.6
[11] ggplot2_3.3.5 tidyverse_1.3.1
loaded via a namespace …Run Code Online (Sandbox Code Playgroud) 我正在从数据框列表中生成箱线图列表,如下所示:
Bps<-lapply(dflist, function(x){
gg<-ggplot(x, aes(x= x, y= y, fill= x))+
geom_boxplot(position = "dodge")+
ggtitle(names(x))
})
Run Code Online (Sandbox Code Playgroud)
数据框列表可以通过以下方式生成:
df1<-data.frame(x=seq(1:50), y=rep("Blank", "Non_blank",25))
df2<-data.frame(x=seq(1:40), y=rep("Blank", "Non_blank",20))
df3<-data.frame(x=seq(1:30), y=rep("Blank", "Non_blank",15))
dflist<-list(df1,df2,df3
Run Code Online (Sandbox Code Playgroud)
我需要将原始数据框的名称粘贴为每个箱线图的标题。因此,如果 dflist 有 3 个名为 dfA、dfB 和 dfC 的数据帧,那么这些应该是由 lapply 函数制作的每个箱线图的标题。我似乎只能获取列的名称,而不是原始数据框名称。非常感谢,M