将列表转换为数据框并重塑数据框

时间:2019-11-13 05:59:01

标签: r dataframe

我有一张像素列表为32x32x3的各种图像。 例如。

head(images.rgb1[1])
[[1]]
     x    y   z
1    1    2   3
2    4    5   6

我正在尝试将此image.rgb [1]列表转换为像 1 2 3 4 5 6 ......

有人可以帮我吗?

2 个答案:

答案 0 :(得分:1)

您可以分为两个步骤来完成此任务:

1:遍历图像列表并将所有像素颜色提取到一个向量中:

pixel_vec = lapply(images.rgb1, function(x) c(t(x)))

2:将所有像素矢量绑定在一起以构建数据框

data.frame(do.call(rbind, pixel_vec))

但是,我不确定这是否是您下一个任务的更好格式?

答案 1 :(得分:0)

我想您的代码应为as.data.frame(matrix(t(as.matrix(df)),nrow = 1)),其中df是您作为示例显示的数据框

df <- structure(list(r = c(59L, 43L, 50L, 68L, 98L, 119L, 139L, 145L
), g = c(62L, 46L, 48L, 54L, 73L, 91L, 107L, 110L), b = c(63L, 
45L, 43L, 42L, 52L, 63L, 75L, 80L)), row.names = c(NA, -8L), class = "data.frame")