如何从单个项目列表中删除未命名元素?
这听起来可能是一个非常初学者的问题,而且它也可能是一个非常基本和愚蠢的问题,但不知何故,我在做这件事时感到头疼。
假设我有一个单项列表
v <- as.list("1, 2, 3,")
v
[[1]]
[1] "1, 2, 3,"
现在我想将其所有项目拆分为单独的项目
v2 <- lapply(str_split(v, pattern = ","), trimws)
v2
[[1]]
[1] "1" "2" "3" ""
现在我想""从这个列表的第一个也是唯一一个项目中删除它而不使用[]?
回答
使用nzchar.
lapply(v2, function(x) x[nzchar(x)])
# [[1]]
# [1] "1" "2" "3"
或者base::strsplit首先使用看起来更复杂的。
lapply(strsplit(v[[1]], ","), trimws)
# [[1]]
# [1] "1" "2" "3"