我有一个列表向量,我在上面使用unlist
。向量中的一些元素是NULL
,而unlist
似乎要删除它们。
我该如何预防这种情况?
下面是一个简单的(非)工作示例,显示unlist
的这个 * 不需要的特性 *
a = c(list("p1"=2, "p2"=5),
list("p1"=3, "p2"=4),
list("p1"=NULL, "p2"=NULL),
list("p1"=4, "p2"=5))
unlist(a)
p1 p2 p1 p2 p1 p2
2 5 3 4 4 5
字符串
5条答案
按热度按时间4sup72z81#
在这种情况下(一级深度列表),这也应该起作用:
字符串
kwvwclae2#
这里的问题是,你不能让
NULL
在一个向量的中间。例如:字符串
你可以在中间设置NA,你可以将其转换为字符,然后再转换回数字,这会自动将NULL值转换为NA(并带有警告):
型
然后把名字放回去,因为它们已经被前一个操作删除了:
型
a11xaf1n3#
如果你正在处理一个有几个级别的复杂JSON,你应该给予这个尝试:
我从nba.com/stats网站上提取了比赛日志数据。问题是,一些球员的3分罚球(主要是中锋)有一个NULL值,而jsonlite::fromJSON似乎可以很好地处理NULL值:
字符串
nfg76nw04#
使用
purrr
的tidyverse
解决方案字符串
如果你想一次完成所有事情:
型
dohp0rv55#
表示缺少值的正确方法是NA(不是NULL)。下面是另一个有效的版本:
字符串