首页 > 解决方案 > 如何对具有突变的字符列表的所有元素求和?

问题描述

data frame在 R 中有一个变量a,其中有一个字符列表。清单如下:list('5', '7', '9')

当我使用for循环进行迭代时,我能够计算它:

for(i in 1:nrow(df)) {
  df$a[i] <- sum(as.numeric(unlist(df$a[i])))
}

但是,当我尝试使用 时mutate,它会返回NA.

df %>% mutate(
  c <- sum(as.numeric(unlist(a)))
)

这段代码有什么问题,我该怎么办?

标签: rlistloopsdplyr

解决方案


因为它是一个list元素,我们可以循环使用map

library(purrr)
library(dplyr)
df %>% 
     mutate(c = map_dbl(a, ~ sum(as.numeric(.x))))

推荐阅读