如何将字符串列表转换为数据框?
How to convert a list of strings to data frame?
我想将字符串列表转换为数据框。
给定结构:
lst <- list(NULL, "PSYC", c("PSYC", "PHIL"), "PHIL")
我想生成一个数据框
Index major_cd
1 NULL
2 PSYC
3 PSYC
3 PHIL
4 PHIL
注意列表中的第 3 项如何变成数据框的 2 行。
我们可以用 'NA' 或 "NULL" 替换 'lst' 中的 NULL 元素,并在设置 tidyr
的名称后使用 unnest
=21=]
lst[sapply(lst, is.null)] <- NA
或者正如@David Arenburg 在评论中提到的,设置为 "NULL"
而不是 NA
将给出预期的输出,如图所示
library(tidyr)
unnest(setNames(lst, seq_along(lst)), Index)
# Index x
#1 1 <NA>
#2 2 PSYC
#3 3 PSYC
#4 3 PHIL
#5 4 PHIL
我想将字符串列表转换为数据框。 给定结构:
lst <- list(NULL, "PSYC", c("PSYC", "PHIL"), "PHIL")
我想生成一个数据框
Index major_cd
1 NULL
2 PSYC
3 PSYC
3 PHIL
4 PHIL
注意列表中的第 3 项如何变成数据框的 2 行。
我们可以用 'NA' 或 "NULL" 替换 'lst' 中的 NULL 元素,并在设置 tidyr
的名称后使用 unnest
=21=]
lst[sapply(lst, is.null)] <- NA
或者正如@David Arenburg 在评论中提到的,设置为 "NULL"
而不是 NA
将给出预期的输出,如图所示
library(tidyr)
unnest(setNames(lst, seq_along(lst)), Index)
# Index x
#1 1 <NA>
#2 2 PSYC
#3 3 PSYC
#4 3 PHIL
#5 4 PHIL