R 如何将数据框中的列表元素转换为数据框
我有一个包含一些列表项的数据框,在该数据框中,我希望将所有列表项转换为一个数据框。示例数据帧R 如何将数据框中的列表元素转换为数据框,r,list,dataframe,R,List,Dataframe,我有一个包含一些列表项的数据框,在该数据框中,我希望将所有列表项转换为一个数据框。示例数据帧df。我想要没有任何列表项的数据帧 structure(list(Study = structure(c(1L, 3L, 2L), .Label = c("new", "y", "z"), class = "factor"), IQC = structure(list(result.1 = 4, result.2 = 20, result.3 = 2.67), .Names = c("resu
df
。我想要没有任何列表项的数据帧
structure(list(Study = structure(c(1L, 3L, 2L), .Label = c("new",
"y", "z"), class = "factor"), IQC = structure(list(result.1 = 4,
result.2 = 20, result.3 = 2.67), .Names = c("result.1", "result.2",
"result.3")), EQC = structure(list(result.1 = "1.12*", result.2 = "0.9*",
result.3 = 3.1), .Names = c("result.1", "result.2", "result.3"
)), CQCg = structure(list(result.1 = 307.65, result.2 = 307.65,
result.3 = 16.16), .Names = c("result.1", "result.2", "result.3"
)), CQCp = structure(list(result.1 = 22.27, result.2 = 20.93,
result.3 = 9.59), .Names = c("result.1", "result.2", "result.3"
)), AQCg = structure(list(result.1 = 10.8, result.2 = 8.99, result.3 = 8.37), .Names = c("result.1",
"result.2", "result.3")), AQCp = structure(list(result.1 = 3.81,
result.2 = "1.07*", result.3 = "0.2*"), .Names = c("result.1",
"result.2", "result.3")), Rank = c(1.42, 1.92, 2.67)), .Names = c("Study",
"IQC", "EQC", "CQCg", "CQCp", "AQCg", "AQCp", "Rank"), row.names = c(NA,
3L), class = "data.frame")
您可以使用
unlist
执行所需操作。我希望这是有帮助的
unlisted <- as.data.frame(t(apply(df, 1, unlist)))
unlisted要从data.frame中的任何列中删除list
类,只需使用
df[] <- unlist(df)
但可以验证列表列是否已转换为字符列:
#> sapply(df,class)
# Study IQC EQC CQCg CQCp AQCg AQCp Rank
#"character" "character" "character" "character" "character" "character" "character" "character"
PS:docendodiscimus指出了这个答案之前版本中的一个错误。@docendodiscimus可能我误读了这个问题。我以为目标是删除所有非列表列。@docendodiscimus我想你是对的。我将尝试更正此问题。谢谢您的评论。我认为只有unlist(df)
不是解决方案。它改变了数据框的格式。@哈希姆请注意赋值左边的空方括号:df[]我不知道如何解释,但是,您的代码使数据框变宽了,检查ncol
,它返回NULL
,
#> sapply(df,class)
# Study IQC EQC CQCg CQCp AQCg AQCp Rank
#"character" "character" "character" "character" "character" "character" "character" "character"