R 将列表转换为数据帧并重塑数据帧

R 将列表转换为数据帧并重塑数据帧,r,dataframe,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 ...... 有人能帮我吗?我想你的代码应该是as.data.frame(matrix(t(as.matrix(df)),nrow=1)),其中df是作为示例显示的数据框 df <- structure

我有一个各种各样的图像,像素数据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 ......


有人能帮我吗?

我想你的代码应该是
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")

df您可以将此任务分为两个步骤:

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

pixel_vec = lapply(images.rgb1, function(x) c(t(x)))
2:将所有像素向量绑定在一起以构建数据帧

data.frame(do.call(rbind, pixel_vec))
但是,我不确定这是否是下一个任务的更好格式

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