作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的数据集中有一列是这样的:
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/
我是一名优秀的程序员,十分优秀!