我有一串串联的整数:
A = "883745"
我想对单个数字进行计算。我在这里提取每个数字:
N1 = as.numeric(substr(A , 1, 1))
N2 = as.numeric(substr(A , 2, 2))
N3 = as.numeric(substr(A , 3, 3))
N4 = as.numeric(substr(A , 4, 4))
N5 = as.numeric(substr(A , 5, 5))
N6 = as.numeric(substr(A , 6, 6))
然后我需要计算:
N1 * nchar(A) +
N2 * (nchar(A) - 1) +
N3 * (nchar(A) - 2) +
N4 * (nchar(A) - 3) +
N5 * (nchar(A) - 4) +
N6 * (nchar(A) - 5)
如何在循环中执行此操作?
最佳答案
substring
而不是 substr
对于这些向量化子字符串操作很有用:
nc <- seq(nchar(A))
sum(as.numeric(substring(A, nc, nc)) * rev(nc))
#[1] 134
关于r - 计算字符串中的单个数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73244252/