使用多个数据框第一行的第一个元素创建箱线图
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)
我有一个数据帧列表。每个数据框有 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)