将字符串转换为个位数并求和

2024-04-27

我花了几个小时尝试寻找解决方案来完成我认为很简单的任务,但我失败了。

我有一个由 3 个不同字符组成的字符串('I','R' & 'O')长度从 1 到 6。
E.g

IRRROO
RRORRR
IIR
RIRRO

每个字符代表一个数字I=1,R=2,O=3
我需要将此字符串转换为单个数字,与位置相乘并对结果求和。例如

IRRROO ---> (1*1)+(2*2)+(2*3)+(2*4)+(3*5)+(3*6) =52
IIR    ---> (1*1)+(1*2)+(2*3) =9

在此先感谢您的帮助。


因子具有等价的数值。您可以在本示例中很好地利用这一点:

# original
x1 <- "IRRROO"

         # 1    2    3
levs <- c("I", "R", "O")

# split the string and convert to factors, then to numeric
x1f <- as.numeric(factor(strsplit(x1, "")[[1]], levels=levs))

# tally it up 
sum(x1f * seq_along(x1f))

或者作为一个不错的单行函数:

sumValue <- function(x, levs=c("I", "R", "O")) 
    sum(seq.int(nchar(x)) *  as.numeric(factor(strsplit(x, "")[[1]], levels=levs)))

sumValue("IRRROO")
# [1] 52
sumValue("IIR")
# [1] 9
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将字符串转换为个位数并求和 的相关文章

  • 在开发模式下安装包(R源未编译成Rdb)

    我需要修改R代码在一个R具有 Fortran 绑定的包 当我安装软件包时 我看到存储库目录没有源代码 但是 Rdb而是二进制文件 我看了看devtools包 但我仍然不清楚如何在不编译 R 源部分的情况下安装该包 类似于 python py
  • rvest open.connection(x, "rb") 中出现错误:已达到超时

    我正在尝试从中抓取内容http google com http google com 错误信息就出来了 library rvest html http google com open connection x rb 中的错误 已达到超时另外
  • 如何在 dplyr 中使用切片来保留 R 中具有 NA 值的行

    我有以下数据集 我想知道每个组的最小单词 如果没有最小单词 它是 NA 我仍然想显示它 df data frame key c A A B B C word c 1 2 3 5 NA df gt group by key gt slice
  • 使用 R 中绘制的标准误差创建条形图

    我试图找到在 R 中创建条形图并显示标准错误的最佳方法 我看过其他文章 但我无法弄清楚与我自己的数据一起使用的代码 之前没有使用过 ggplot 这似乎是最常用的方法 而 barplot 不与数据框合作 我需要在两种情况下使用它 我为此创建
  • 列表列中的设置操作

    我正在尝试做集合运算在存储在列表列中的向量之间 例如this https stackoverflow com questions 38712196 text file to dataframe with a list column DT l
  • 两组点之间的距离[重复]

    这个问题在这里已经有答案了 因此 在查看了 stackoverflow 上提出的各种问题后 我仍然无法理解 R 中的 dist 函数 甚至无法理解一般的距离矩阵 所以我有两个带有 xy 坐标的数据框 df1 lt data frame x
  • 如何删除Excel 2010单元格中的某些字符

    在 A 列中 我有很多类似这样的名称 约翰 史密斯 我仍然希望它们在 A 中 但 被删除了 If John Smith 位于单元格 A1 中 然后使用以下公式执行您想要的操作 SUBSTITUTE SUBSTITUTE A1 内部 SUBS
  • 不使用apply函数对data.table的每一行进行操作的方法

    我在下面写了一个简单的函数 mcs lt function v ifelse sum diff sort v gt 6 gt 0 NA sd v 它应该采用一个向量 对其进行排序 然后检查每个连续差异中是否存在大于 6 的差异 如果差值大于
  • 如何在 R 中执行随机森林/交叉验证

    我无法找到对我尝试生成的回归随机森林模型执行交叉验证的方法 因此 我有一个数据集 其中包含 1664 个解释变量 不同的化学性质 和一个响应变量 保留时间 我正在尝试生成一个回归随机森林模型 以便能够预测给定保留时间的物质的化学性质 ID
  • 加拿大人口普查地图分区 R

    我对 R 和映射非常陌生 我想创建某些数据的映射 我有一组名为 D Montreal 的数据 显示 2010 年前往蒙特利尔的加拿大人口普查部门游客来自哪个国家 我想使用此数据创建一个地图 以显示有多少人来自不同地区 也许可以通过对根据人数
  • 从 foreach 循环赋值

    我想并行化一个循环 例如 td lt data frame cbind c rep 1 4 2 rep 1 5 rep 1 10 2 names td lt c val id res lt rep NA NROW td for i in l
  • R:如何添加具有从矩阵的每一行中随机选择的值的列?

    我会先说我是一个 R 菜鸟 我认为这可能有一个简单的解决方案 但我正在努力寻找它 我有一个 2 列 1 000 行的矩阵 保持行固定 我想创建一个新变量 从两列中随机选择一个元素 例如制作一个简单的矩阵 matrix c 1 1 4 6 1
  • dplyr :过滤一系列行(在一列中)

    虚拟数据框 id family lt c 1 1 2 2 3 3 people lt c male female male female male children dataset lt data frame id family peopl
  • ggmap 错误:GeomRasterAnn 是使用不兼容版本的 ggproto 构建的

    我正在使用 ggmap 并收到以下错误 Error GeomRasterAnn was built with an incompatible version of ggproto Please reinstall the package t
  • 为 RStudio Server 1.0.44 配置日志目录

    我在 CentOS 7 上运行 RStudio Server 1 0 44 根据文档 https support rstudio com hc en us articles 200554766 RStudio Server Applicat
  • 使用 Rcpp 得出斐波那契数列的意外结果

    我刚刚开始使用Rcpp很抱歉 如果我错过了一个简单的步骤或类似的东西 我已经尝试过这个 sourceCpp library Rcpp sourceCpp code include
  • 从 Cox PH 模型预测概率

    我正在尝试使用 cox 模型来预测时间 称为停止 3 后失败的概率 bladder1 lt bladder bladder enum lt 5 coxmodel coxph Surv stop event rx size number cl
  • 如何在ggplot2中使用希腊符号?

    我的类别需要用希腊字母命名 我在用ggplot2 并且它与数据配合得很好 不幸的是 我无法弄清楚如何将这些希腊符号放在 x 轴上 在刻度线处 并使它们出现在图例中 有什么办法可以做到吗 更新 我看了一下link https github c
  • 如何使用收益返回和递归获得字母的每个组合?

    我有几个像这样的字符串列表 可能有几十个列表 1 A B C 2 1 2 3 3 D E F 这三个仅作为示例 用户可以从几十个具有不同数量元素的类似列表中进行选择 再举个例子 这对于用户来说也是一个完全有效的选择 25 empty 4 1
  • 为 ggplot 定义新的尺度轴变换

    我正在尝试创建一个squared使用 y 轴变换scales trans new但遇到错误 MWE data data frame x 1 10 y runif 10 z rnorm 10 10 library ggplot2 ggplot

随机推荐

  • 地理编码器 getFromLocation 失败

    我正在尝试从坐标中获取地标 我在用着geoLocator为了那个原因 今天早上工作正常 但现在抛出平台异常 PlatformException IO ERROR A network error occurred trying to look
  • angularjs foreach循环通过依赖于先前请求的http请求

    我想循环遍历一个数组以角度执行 http jsonp 请求 但是每个请求都会略有不同 具体取决于前一个 http jsonp 请求的时间戳 我试图循环 5 个请求 每个请求都依赖于前一个请求信息 如何执行 foreach 循环来等待每个 h
  • 如何在 django 中搜索具有 url 模式的字符串?

    我想为每个创建的帐户创建一个个人资料页面 创建后 可以像这样访问用户配置文件 http example com 用户名 http example com username 但在创建之前 我应该验证该 url 是否已经可用并且未被现有 url
  • Opengraph 和 music.listen

    尝试了几次使用 music listen 动作 最终尝试创建我们自己的聆听动作和歌曲对象 一些帖子表明 music listen 以及内置于动作和对象中的歌曲目前仅可供发布合作伙伴使用 有人能告诉我这是否属实吗 如果是 我们如何成为音乐 o
  • 在Java中,在哪里放置代码以在窗口关闭时可靠地触发?

    我有几个窗口 我想在用户采取操作关闭窗口 通过标题栏中的按钮 菜单项或我提供的按钮 之后和处理窗口之前保存默认值 有些窗口我可以DISPOSE ON CLOSE 但有些窗口我需要在它们被dispose 之前提供信息 窗体窗口关闭 http
  • fullCalendar 在同一天找到其他事件?

    我需要检测同一天的其他事件 我希望能够做的是 查找 eventClass X 的事件是否与 eventClass Y 的删除事件在同一天存在 如果不存在 它会警告用户 eventClass X 不存在 否则允许用户删除该事件 这可能吗 在探
  • 非成员规则在 Prolog 中无法按预期工作

    我正在尝试在 Prolog 中创建一个迷宫程序 其目的是找到一条从迷宫起点到迷宫中心点 m 的路线 迷宫由使用四种颜色之一连接的正方形组成 蓝色 绿色 紫色或橙色 从起点到中心的路线遵循四种颜色的重复图案 我创建了以下代码 link2 A
  • 如何让 SymPy 收集偏导数?

    我一直在使用 SymPy 来扩展复杂偏微分方程的项 并希望使用 Collect 函数来收集项 然而 在处理微分变量不同的二阶 或高阶 导数时似乎存在问题 在下面的代码示例中collect expr6 有效 但是collect expr7 没
  • IOS:给@selector添加一个参数

    当我有这行代码时 UILongPressGestureRecognizer downwardGesture UILongPressGestureRecognizer alloc initWithTarget self action sele
  • 使用 iOS 7 在后台获取步骤

    我正在开发一个应用程序 我应该在其中获取我在体育活动期间所走的步数 我找到了这段代码 void countSteps UIAccelerometer sharedAccelerometer setUpdateInterval 1 0 KUP
  • PHP 中“

    默认情况下已启用从5 4 0开始 https www php net ChangeLog 5 php 5 4 0不管php ini设置
  • 如何编写虚拟机[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • c.JSON gin.H{()} 输出空对象

    我刚刚开始学习 GO lang 结合 Gin 框架 我决定编写一些简单的 api 来获取有关酒精饮料的数据 我当前的问题是 api get 方法http localhost 8080 alcohol drinks 返回空数据对象 My co
  • 不使用 PIN 的 Twitter 身份验证

    我正在尝试验证 Windows Phone 中的用户帐户 我找到了这个 C 库来完成这项工作 tweetsharp 他们的示例非常清楚 但他们使用 pin 码来验证用户身份 using TweetSharp Pass your creden
  • 从 Nipype docker 镜像 CommandNotFound 构建奇点配方

    我有以下奇点容器配方 bin bash Bootstrap docker From nipype nipype latest labels Version v1 0 post Install nano apt get update apt
  • 将不同的内容添加到 flutter moor 查询中

    我有以下颤动沼泽查询 select recipeGarnishes where tbl gt tbl postGarnish equals true get 我该如何添加distinct查询条件 更新 我想写的查询是 select DIST
  • Maven编译失败(但Eclipse下编译成功)

    在构建我的网络项目时Eclipse 一切安好 没有错误 没有警告 然而 在构建项目时Maven it failes 下面是输出形式mvn compile c Users jwa Desktop tets traffic web gt mvn
  • Azure 有害队列计数警报规则

    在之前的一个项目中 我设法设置了一个警报规则 该规则会查看有害队列消息计数 并在队列中存在某些内容时 每天一次 使用 webhook 向 slack 发出警报 我试图找到它在 Azure 中的位置 因为看起来事情已经发生了变化 如果这不是
  • 在php中生成随机字符串作为文件名[重复]

    这个问题在这里已经有答案了 我将如何创建与文件名一起使用的随机文本字符串 我正在上传照片并在完成后重命名它们 所有照片都将存储在一个目录中 因此它们的文件名必须是唯一的 有这样做的标准方法吗 有没有办法在尝试覆盖之前检查文件名是否已经存在
  • 将字符串转换为个位数并求和

    我花了几个小时尝试寻找解决方案来完成我认为很简单的任务 但我失败了 我有一个由 3 个不同字符组成的字符串 I R O 长度从 1 到 6 E g IRRROO RRORRR IIR RIRRO 每个字符代表一个数字I 1 R 2 O 3我