【发布时间】:2021-02-15 07:17:31
【问题描述】:
我有一个数据框列表,我想将一列更改为行名,因为我需要转置每个数据框。
使用一些虚拟数据,这是我正在使用的代码:
x <- c("A", "B", "C", "D", "E")
y <- c(1:5)
z <- c(6:10)
df1 <- data.frame("Row One"=x, "Row Two"=y)
df2 <- data.frame("Row One"=x, "Row Two"=z)
dfList <- list(df1,df2)
我用 lapply 试过了,没有运气。
dfList <- lapply(dfList, column_to_rownames("Row One"))
也不适用于 for 循环。
for(i in length(dfList)){
dfList[i] <- column_to_rownames(dfList[i], "Row One")
}
根据错误信息,我尝试将 as.data.frame 添加到列表元素中,但也没有用。
for(i in length(dfList)){
dfList[i] <- column_to_rownames(as.data.frame(dfList[i], "Row One"))
}
关于最后一个的奇怪之处在于错误提示“在.data 中找不到列Row One。”
【问题讨论】:
标签: r list dataframe loops lapply