У меня есть фрейм данных/кеш, который выглядит следующим образом.столбец с расщепленным списком по нескольким строкам [R]
# # A tibble: 2 × 3
# from_id created_time text
# <chr> <chr> <list>
# 1 10113538711 2017-02-10T23:33:01+0000 <chr [3]>
# 2 10113538711 2017-02-10T05:41:39+0000 <chr [5]>
Я хотел распространить list
элементы из текстового столбца над строками, так что выглядит следующим образом.
# # A tibble: 2 × 3
# from_id created_time text
# <chr> <chr> <chr>
# 1 10113538711 2017-02-10T23:33:01+0000 "earlier this week we received ..."
# 1 10113538711 2017-02-10T23:33:01+0000 "lance payne's photo struck a c..."
# 1 10113538711 2017-02-10T23:33:01+0000 "this is his story:"
# 2 10113538711 2017-02-10T05:41:39+0000 "i'm melting, but extreme heat ..."
# 2 10113538711 2017-02-10T05:41:39+0000 "place the container in an area..."
# 2 10113538711 2017-02-10T05:41:39+0000 "please share far and wide."
# 2 10113538711 2017-02-10T05:41:39+0000 "thank you."
# 2 10113538711 2017-02-10T05:41:39+0000 "photo © tanya-dee johnson"
Я думал попробовать tidy::separate()
, но это не работает в моем использования. Я подозреваю, что это какая-то форма раскола или отдельная, за которой следует gather()
или melt()
, однако моя лексика R в настоящее время меня пугает.
Любая помощь по этому вопросу будет принята с благодарностью.
DPUT моего сока.
> dput(df)
structure(list(from_id = c("10113538711", "10113538711"), created_time = c("2017-02-10T23:33:01+0000",
"2017-02-10T05:41:39+0000"), text = structure(list(c("earlier this week we received shocking photos of a turtle hatchling emerging beside a lump of coal at mackay's east point beach near hay point – the largest coal port alongside the great barrier reef.",
"lance payne's photo struck a chord around the country.", "this is his story:"
), c("i'm melting, but extreme heat causes significant stress particularly for all animals.",
"place the container in an area where animals are protected from predators when drinking eg near a shrub or bush and keep your pets away from this area so that animals can drink undisturbed.",
"please share far and wide.", "thank you.", "photo © tanya-dee johnson"
)), class = c("get_sentences", "list"))), class = c("tbl_df",
"tbl", "data.frame"), row.names = c(NA, -2L), .Names = c("from_id",
"created_time", "text"))
это было быстро! Я бы согласился, ответ теперь принимается, так что я не позволю. Я знал, что это проблема словарного запаса. – Dan
@Dan 'melt' from' reshape2' и 'gather' from' tidyr' используются для преобразования из формата «широкий» в «длинный» и не будут касаться столбца «list». – akrun
Да, я знал, что они это сделали, я просто подумал, что, возможно, потребуется какая-то функция, которая приведет к тому, что список будет разбит по столбцам. Ясно, что 'unnest()' делает это легко. – Dan