使用 sapply() 保留列表的名称

Preserve names of a list with sapply()

我有以下类型的数据:

token <- list(
cameron = rep("people", 12))

我正在应用如下函数:

token <- sapply(token, function(x){
x <- str_trim(x, side = "both")
})

问题是 sapply() 弄乱了结构的名称。 运行 names(token) returns NULL。 运行 str(token) 显示问题:第一个属性是 NULL,第二个是我想要的名称。我以为 USE.NAMES() 会得到我想要的东西,但我无法让它工作。我想这一定是一个常见问题,但我无法在这里或其他地方找到解决方案。有人知道该怎么办吗?

您可能需要 simplify=FALSEsapply

sapply(token, function(x) str_trim(x, side='both'), simplify=FALSE)

或者更好的方法是使用 lapply

lapply(token, function(x) str_trim(x, side='both'))