gpt4 book ai didi

r - 如何对被视为字符串的数字求和?

转载 作者:行者123 更新时间:2023-12-02 06:12:48 25 4
gpt4 key购买 nike

我的数据集中有一列是这样的:

col1
1
1, 1, 1, 1
1, 1
1, 1, 1, 1, 1
1

我正在尝试对新列中的每一行求和,如下所示:

col2
1
4
2
5
1

我试过:

rowSums(as.numeric(as.character(df$col1)))
Error in rowSums(as.numeric(as.character(df$col1))) :
'x' must be an array of at least two dimensions
In addition: Warning message:
In is.data.frame(x) : NAs introduced by coercion

我是 R 的新手,可能遗漏了一些明显的东西,但我在 R 中也找不到任何类似的问题来适应我的数据,任何关于使用什么函数的帮助或建议将不胜感激。

数据:

structure(list(col1 = c("1", "1, 1, 1, 1", "1, 1", "1, 1, 1, 1, 1", "1"), 
row.names = c(NA, -5L), class = "data.frame")

最佳答案

您可以使用应用strsplit 允许只获取您想要的数字,然后将它们从字符转换为数字,然后求和:

df$col2 <- sapply(strsplit(df$col1, ","), function(x) sum(as.numeric(x)))
df$col2

[1] 1 4 2 5 1

关于r - 如何对被视为字符串的数字求和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60321105/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com