使用多个数据框第一行的第一个元素创建箱线图

create boxplots with first element of first row of multiple dataframes

我有一个数据帧列表。每个数据框有 6 行。我想创建 6 个箱线图。 first 箱线图应采用第一列 第一行的值 second 箱线图应采用第一列第二行的值,依此类推

我想以这样的方式结束:example image

水平轴上的每一行应该是一个箱线图。

现在我已经开始循环执行了,但我认为这不是要走的路:

for (counter in seq(from = 1, to = wins)) {
    res <- (lapply(mylist, function(x) x[counter,1]))
    boxplot(res)
}

变量 mylist 包含数据帧。我已经使用 lapply 获得 first/second/etc。根据 counter 变量,所有数据帧上的行元素。但是,我认为我还必须避免循环,但这需要一个 'better' lapply,它也会循环遍历 mylist 中数据帧的行。

也许不是你想要的那种,但这对我有用

# Add a column to each data frame with the row index
for (i in seq_along(mylist)) {
  mylist[[i]]$rowID <- 1:nrow(mylist[[i]])
}

# Stick all the data frames into one single data frame
allData <- do.call(rbind, mylist)

# Split the first column based on rowID
boxList <- split(allData[,1], allData$rowID)

# boxplot likes a list
boxplot(boxList)