r - 计算字符串中的单个数字

标签 r string loops for-loop

我有一串串联的整数:

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/

相关文章:

r - 如何使用窗口函数?

r - 变长 df 二次采样函数 r

regex - 使用 PowerShell 以字符串格式更改 IP 的第三个八位字节

python - 需要将字符串列表转换为普通数字列表,字符串以10为底

vba - 循环遍历文件夹的各个子文件夹以及这些子文件夹的每个文件时出现问题

linux - 循环 Linux Shell 的空主体

c - 在 while 循环中使用 #define

r - 在分组的时间序列中填充缺失的日期-tidyverse方法?

RStudio 与具有可重现代码的 RCpp 一起崩溃

swift - 将 Swift 字符串从 a 部分拆分到 b 部分?