Как разделить или создать новый столбец для списка данных в кадре данных?

Пожалуйста, посмотрите на предварительный просмотр данных в изображении. Я хотел бы создать 3 новых столбца, т.е. Start, End, Density и создать новую строку для каждой записи в этих 3 столбцах.

1 ответ

В соответствии с комментариями выше вы можете общаться list в data.frame как показано ниже:

# simulation of data.frame with one row and one cell with histogram
z <- hist(rnorm(1000))
z$start <- z$breaks[-length(z$breaks)]
z$end <- z$breaks[-1]
z[c("mids", "xname", "breaks", "equidist", "counts")] <- NULL
names_z <- names(z)
attributes(z) <- NULL
df <- data.frame(a = 1, b = 2, x = I(list((z))))

# Conversion of list to dataframe
setNames(as.data.frame(unlist(df["x"], recursive = FALSE)), names_z)

Выход:

   density start  end
1    0.012  -3.0 -2.5
2    0.042  -2.5 -2.0
3    0.082  -2.0 -1.5
4    0.182  -1.5 -1.0
5    0.288  -1.0 -0.5
6    0.354  -0.5  0.0
7    0.418   0.0  0.5
8    0.300   0.5  1.0
9    0.172   1.0  1.5
10   0.088   1.5  2.0
11   0.050   2.0  2.5
12   0.012   2.5  3.0
Другие вопросы по тегам