【发布时间】:2017-12-31 03:45:03
【问题描述】:
我有一个表,其中包含两个感兴趣的列,如下所示:
Status_id |标签
947306525726527488 | NEWYEARSEVEPARTY919
947306316959281153 | MakeItA生活方式
947306315952611330 | c("Ejuice", "vape", "vaping")
947306265520328704 | c(“vapefam”,“vapenation”,“vapefamily”)
947305941522771968 |正在播放
str(juice) #df name
Classes ‘tbl_df’, ‘tbl’ and 'data.frame': 5 obs. of 2 variables:
$ status_id: chr "947306525726527488" "947306316959281153"
"947306315952611330" "947306265520328704"
$ hashtags :List of 5
..$ : chr "NEWYEARSEVEPARTY919"
..$ : chr "MakeItALifestyle"
..$ : chr "Ejuice" "vape" "vaping" "eliquid"
..$ : chr "vapefam" "vapenation" "vapefamily"
..$ : chr "nowplaying"
数据
structure(list(status_id = c("947306525726527488", "947306316959281153",
"947306315952611330", "947306265520328704", "947305941522771968"
), hashtags = list("NEWYEARSEVEPARTY919", "MakeItALifestyle",
c("Ejuice", "vape", "vaping", "eliquid", "ecigjuice", "ecig",
"vapejuice"), c("vapefam", "vapenation", "vapefamily", "vapelife",
"vapelyfe", "vapeon", "positivity"), "nowplaying")), .Names = c("status_id",
"hashtags"), row.names = c(NA, -5L), class = c("tbl_df", "tbl",
"data.frame"))
预期结果
我想要以下两个表(当然在实际的原始 df 中,我删除了更多列,因为它们与问题无关):
df1
状态_id
947306525726527488
947306316959281153
947306315952611330
947306265520328704
947305941522771968
和
df2
status_id |标签
947306525726527488 | NEWYEARSEVEPARTY919
947306316959281153 | MakeItA生活方式
947306315952611330 |果汁
947306315952611330 |电子烟
947306315952611330 |电子烟
947306265520328704 |电子烟
947306265520328704 |汽化
947306265520328704 |电子烟
947305941522771968 |正在播放
原始数据每个 status_id 有一行,所有主题标签 >1 为 c(...) - 归类为类型:“列表”。 df2 将各个主题标签分成单独的行。
虽然我以前从未遇到过列表类型的列,但在谷歌上搜索它让我得到了很多关于将列表转换为列而不是“列表”类型的列的内容
【问题讨论】:
-
如果您的原始数据集是
df2,可能类似于df1 <- df2[, 1, drop = F]。 -
original 是 str() 代码上方的最顶层表格。 df1 和 df2 是期望的结果
-
你的原始数据和
df2有什么区别? -
原始数据每个 status_id 有一行,所有主题标签为 c(...) - 归类为类型:“列表”。 df2 将各个主题标签分成单独的行
-
知道了。所以,
df1:- df1 <- original[, 1, drop = F]应该可以工作。