【发布时间】:2021-11-09 18:42:52
【问题描述】:
是否有一个函数可以将隐式转换规则强制到异构列表中,以便将其转换为最通用共享类的原子向量?例如,如果我有list("apple", 12, TRUE),我怎样才能把它变成c("apple", "12", "TRUE")?
【问题讨论】:
是否有一个函数可以将隐式转换规则强制到异构列表中,以便将其转换为最通用共享类的原子向量?例如,如果我有list("apple", 12, TRUE),我怎样才能把它变成c("apple", "12", "TRUE")?
【问题讨论】:
R 的类层次结构大致是逻辑 unlist 强制转换成字符应该会有所帮助,然后list 再次获得列表格式。
list(unlist(list("apple", 12, TRUE)))
# [[1]]
# [1] "apple" "12" "TRUE"
如果我们有一个嵌套列表,我们可以创建一个继承自"list" 的"relistable" 对象,并在unlist 之后使用relist:
l <- as.relistable(list("apple", list(12), TRUE))
relist(unlist(l))
# [[1]]
# [1] "apple"
#
# [[2]]
# [[2]][[1]]
# [1] "12"
#
#
# [[3]]
# [1] "TRUE"
【讨论】: