R使用do.call将列表中存储的数据转换为单个数据帧
示例
如果您将数据存储在列表中,并且想要将此列表转换为数据框,则此do.call功能是实现此目的的简便方法。但是,重要的是所有列表元素必须具有相同的长度,以防止意外回收值。
dataList <- list(1:3,4:6,7:9) dataList # [[1]] # [1] 1 2 3 # # [[2]] # [1] 4 5 6 # # [[3]] # [1] 7 8 9 dataframe <- data.frame(do.call(rbind, dataList)) dataframe # X1 X2 X3 # 1 1 2 3 # 2 4 5 6 # 3 7 8 9
如果您的列表由数据框本身组成,它也可以使用。
dataframeList <- list(data.frame(a = 1:2, b = 1:2, c = 1:2), data.frame(a = 3:4, b = 3:4, c = 3:4)) dataframeList # [[1]] # a b c # 1 1 1 1 # 2 2 2 2 # [[2]] # a b c # 1 3 3 3 # 2 4 4 4 dataframe <- do.call(rbind, dataframeList) dataframe # a b c # 1 1 1 1 # 2 2 2 2 # 3 3 3 3 # 4 4 4 4