将前导零填充到公共宽度[重复]

2024-04-08

我正在处理具有小时格式的数据库,例如:

HOUR ID
1  2
10 4
5  6
20 6

我想在 1 个字符的值中放置一个零,并将它们存储在名为 NHOUR 的新列中,例如:

NHOUR HOUR ID
01 1  2
10 10 4
05 5 6
20 20 6

到目前为止,我正在努力解决类似的问题(我遵循论坛中已经为 ifelse 提供的一些建议):

DB$NHOUR<-with(DB,ifelse(nchar(HOUR,type="chars")==1),sprintf("%02d",HOUR),as.numeric(HOUR))

但没有任何成功! R 总是报告“是”元素未指定等。

一如既往,如有任何提示,我们将不胜感激!


只需遵循@joran评论中的建议,

DB <- data.frame(
HOUR  = c(1, 10, 5, 20),
ID  = c(2, 4, 6, 6))

NHOUR <- sprintf("%02d",DB$HOUR) # fix to 2 characters 

cbind(NHOUR, DB) # combine old and newdata 
  NHOUR HOUR ID
1    01    1  2
2    10   10  4
3    05    5  6
4    20   20  6

更新2013-01-21 23:42:00Z灵感来自下面是daroczig的性能测试 https://stackoverflow.com/a/14409851/1305688,因为我想尝试一下微基准测试包 http://cran.r-project.org/web/packages/microbenchmark/,我用自己的小型性能测试更新了这个问题,比较了该线程中建议的三种不同的解决方案。

# install.packages(c("microbenchmark", "stringr"), dependencies = TRUE)
require(microbenchmark)
require(stringr)

SPRINTF <- function(x) sprintf("%02d", x)
FORMATC <- function(x) formatC(x, width = 2,flag = 0)
STR_PAD <- function(x) str_pad(x, width=2, side="left", pad="0")

x <- round(runif(1e5)*10)
res <- microbenchmark(SPRINTF(x), STR_PAD(x), FORMATC(x), times = 15)

## Print results:
print(res)
Unit: milliseconds
        expr       min        lq    median        uq      max
1 FORMATC(x) 623.53785 629.69005 638.78667 671.22769 679.8790
2 SPRINTF(x)  34.35783  34.81807  35.04618  35.53696  37.1622
3 STR_PAD(x) 116.54969 118.41944 118.97363 120.05729 163.9664

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

将前导零填充到公共宽度[重复] 的相关文章

  • R data.table 1.9.2 关于 setkey 的问题

    这似乎是 1 8 10 后引入的一个错误 与包含列表的 DT 的 setkey 相关 运行下面两个代码来查看问题 library data table dtl lt list dtl 1 lt data table scenario 1 p
  • R 多元一步预测和准确性

    我想使用 R 来比较两个预测模型的 RMSE 均方根误差 第一个模型使用 1966 年至 2000 年的估计值来预测 2001 年 然后使用 1966 年至 2001 年的估计值来预测 2002 年 依此类推直至 2015 年 第二个模型使
  • 使用 RDCOMClient 搜索 Outlook 收件箱

    我尝试使用 RDCOMClient 在 Outlook 收件箱中搜索电子邮件中的特定主题 然后获取附件 我在一封电子邮件上进行了这项工作 但由于主题包含日期元素 我需要搜索成为一个类似的子句 但不太清楚这适合我的下面的查询 outlook
  • R中整数类和数字类有什么区别

    我想先说我是一个绝对的编程初学者 所以请原谅这个问题是多么基本 我试图更好地理解 R 中的 原子 类 也许这适用于一般编程中的类 我理解字符 逻辑和复杂数据类之间的区别 但我正在努力寻找数字类和整数类之间的根本区别 假设我有一个简单的向量x
  • 在 igraph 中为社区分配颜色

    我在 igraph 中使用 fastgreedy community 检测算法在 R 中生成社区 代码返回 12 个社区 但是在绘图时很难识别它们 因为它返回的图的颜色数量有限 我怎样才能用十二种不同的颜色绘制这个图表 l2 lt layo
  • 合并数据框而不重复行

    我想合并两个数据框 但如果有多个匹配项 则不想重复行 相反 我想总结一下那天的观察结果 来自 合并 提取两个数据框中与指定列匹配的行并将其连接在一起 如果有多个匹配项 则所有可能的匹配项各贡献一行 这是一些示例代码 days lt as d
  • 按特定样本前缀对列名称向量进行子集化

    假设我有一个如下所示的数据框 ca01 lt c 1 10 ca02 lt c 2 11 ca03 lt c 3 12 stuff 1 lt rep test 10 other lt rep 9 10 data lt data frame
  • R - 与 SpatialPolygonsDataFrame 对象相交的 SpatialLinesDataFrame 列表的嵌套循环

    我有一系列需要完成的步骤SpatialLinesDataFrame 此处的 线 基于对象与多特征中各个特征的关系SpatialPolygonsDataFrame 多边形 对象 简而言之 每个线列表元素源自单个面要素内部 并且可能会也可能不会
  • 不同 R/lme4 版本的单一拟合结果不匹配

    我试图将 R 版本 3 5 3 lme4 1 1 18 1 的随机效应估计与 R 版本 4 1 1 lme4 1 1 27 1 相匹配 然而 当存在奇异拟合时 这两个版本之间的随机效应存在微小差异 我对奇点警告很满意 但令人费解的是不同版本
  • 从 df 中提取具有两列的重叠行对

    我想找出这两个表之间哪些对重叠 gt dput data1 structure list Name x c MDH1 MDH1 IDH2 IDH2 IDH2 IDH2 IDH2 IDH2 IDH2 SCOALB SCOALB CSY4 CS
  • R 将多个值与向量进行比较并返回向量[重复]

    这个问题在这里已经有答案了 我有一个向量 A 对于 A 的每个元素 我想检查它是否等于第二个向量 Targets 中的任何元素 我想要一个逻辑值向量 其长度为 A 作为返回 也提到了同样的问题here http r 789695 n4 na
  • 从 n,k 维矩阵数组中减去 n,k 维矩阵

    如果我有一个数组A A lt array 0 c 4 3 5 for i in 1 5 set seed i A i lt matrix rnorm 12 4 3 如果我有矩阵 B set seed 6 B lt matrix rnorm
  • 为什么数据帧上的 is.vector 不返回 TRUE?

    tl dr R 中的向量到底是什么 长版 R 中很多东西都是向量 例如 数字是长度为 1 的数值向量 is vector 1 1 TRUE 列表也是一个向量 is vector list 1 1 TRUE 好的 所以列表是一个向量 显然 数
  • 将 ftransform 与折叠 R 包中的 fgroup_by 一起使用

    我正在尝试重现以下输出dplyr代码与R包裹collapse dplyr Code library tidyverse starwars gt select name mass species gt group by species gt
  • 使用 R 下载压缩数据文件、提取和导入数据

    EZGraphs 在 Twitter 上写道 很多在线 csv 都被压缩了 有没有办法下载 解压缩存档并使用 R 将数据加载到 data frame Rstats 我今天也尝试这样做 但最终只是手动下载 zip 文件 我尝试过类似的东西 f
  • 使用officer R导出时如何提高ggplots的分辨率

    我想将图表导出到 PPT 并使用Officer 包来实现相同的目的 但是 图表的默认分辨率较低 我想更改它 我目前正在使用以下电话 ph with gg p1 type chart res 1200 其中 p1 是 ggplot 对象 运行
  • 不同编程语言中的浮点数学

    我知道浮点数学充其量可能是丑陋的 但我想知道是否有人可以解释以下怪癖 在大多数编程语言中 我测试了 0 4 到 0 2 的加法会产生轻微的错误 而 0 4 0 1 0 1 则不会产生错误 两者计算不平等的原因是什么 在各自的编程语言中可以采
  • 如何按时间间隔匹配数据帧?

    这是我从数据记录器导入原始数据时经常出现的问题 温度记录仪设置为每十分钟记录一次温度 单独的气体记录仪设置为记录最后十分钟间隔内使用的气体 我想将这两个记录器的数据合并到一个数据框中进行绘图和分析 但时间并不完全一致 我希望每十分钟的时间段
  • picker输入字体或背景颜色

    我在闪亮的仪表板中使用 pickerInput 这很好 除了一个问题 背景颜色和字体颜色太相似 使得过滤器选择难以阅读 有什么办法可以改变背景或字体颜色吗 如果可能的话 我想继续使用 pickerInput 但如果有一个带有 selectI
  • 绘制 Cox 回归的 Kaplan-Meier 图

    我使用 R 中的以下代码设置了一个 Cox 比例风险模型来预测死亡率 添加协变量 A B 和 C 只是为了避免混淆 即年龄 性别 种族 但我们真正对预测变量 X 感兴趣 X 是一个连续变量 cox model lt coxph Surv t

随机推荐

  • VBScript 宏 getParentFolder 名称

    我正在尝试创建一个 vbscript 宏 它将获取存储宏的文件夹位置并将输出文件创建到同一文件夹中 我正在使用下面的代码 但它没有获得正确的位置 Set obj1FSO CreateObject Scripting FileSystemOb
  • 跨包模块设置日志记录的有效方法

    我有一个包 其中包含多个组件 这些组件将从使用日志记录和输出有用信息中受益匪浅 我不想做的是为每个文件 设置 正确的日志记录 并在以下位置进行 import logging logging basicConfig level DEBUG m
  • Boost:为什么 ~/user-config.jam 中列出的工具集不可用于 ./b2?

    在我试图回答我自己的问题时Clang 链接器报告 未找到符号 尽管 nm m 显示该名称存在于正在链接的库中 https stackoverflow com questions 20599721 clang linker reports s
  • window.onbeforeunload 执行查询

    我试图在用户离开页面时执行后查询 我正在使用的代码是 我在这里做的事情有什么问题吗 我在 FF 错误控制台中得到的结果只是说其他不相关的函数 变量未定义 因为它们正在卸载 对于我需要修复的问题有什么提示或指示吗 简单的答案是你不能在中进行异
  • 使用 sql 通过 csv 将产品导入到 woocommerce

    当sql表post meta不断增长时 通过插件wp all import导入产品会花费太多时间 目前有200 000种产品进口 有没有办法直接在sql中通过csv导入产品而不需要wordpress 我不需要导入任何图像 只需导入标题和描述
  • 应用程序图标创建叠加信息(数字)?

    如何在 Android 应用程序上克隆此行为 iOS 从技术上讲 这绝对是可能的 因为我在 Android 手机上有一个自己的应用程序 它是一个电子邮件应用程序 图标上有一个非常相似的指示器 显示未读邮件数量 是的 你可以像 ios 一样实
  • 用户输入-DOS批处理文件

    我得到一个bat文件 如下所示 ECHO Executing scripts PAUSE for X in SQL do SQLCMD S localhost d CTL I i X gt gt ResultScript txt pause
  • 以编程方式更改滑动时的 ViewPager 动画持续时间

    我正在使用以下代码更改幻灯片 viewPager setCurrentItem index true 但变化太快了 有没有办法手动设置动画速度 I ve wanted to do myself and have achieved a sol
  • 我可以在全局范围内只安装 Gulp 吗?

    我一直致力于新的网络开发项目 这些项目在实践中并不需要他们的node modules部署时的文件夹 如果我能够创建一个小的 它会更适合我gulpfile js对于每个项目 而不是包含在 6000 多个文件node modules每个项目的文
  • 在 Restful Web 服务中下载文件

    我的要求是 我应该通过restful服务向客户端发送一个10MB的zip文件 我在论坛中找到了发送StreamingOutput对象是更好的方法 但是我如何创建一个StreamingOutput以下代码中的对象 Path PDF file
  • 使用“Object.create”而不是“new”

    Javascript 1 9 3 ECMAScript 5 介绍Object create 其中道格拉斯 克罗克福德 Douglas Crockford 等人提倡 http javascript crockford com prototyp
  • 如何从一组 N 个对象中选择 n 个对象,最大化它们之间的成对距离之和

    您有一组 N 400 个对象 每个对象在 19 维空间中都有自己的坐标 您计算 欧几里德 距离矩阵 所有成对距离 现在您想要选择 n 50 个对象 使得所选对象之间所有成对距离的总和最大 我设计了一种通过线性编程来解决这个问题的方法 下面的
  • 如何使用完成处理程序将图像放入 SwiftUI 视图中

    我已经尝试过这个 但我不知道如何在 SwiftUI 视图中使用结果 func getProfilePicture completion escaping UIImage gt Void Alamofire request GIDSignIn
  • 关于如何构建 HTML Diff 工具的建议?

    In 这个帖子 https stackoverflow com questions 48669 are there any tools out there to compare the structure of 2 web pages我问是
  • SQL Server 进程队列竞争条件

    我有一个订单队列 多个订单处理器通过存储过程访问该队列 每个处理器都会传递一个唯一的 ID 该 ID 用于锁定接下来的 20 个订单以供自己使用 然后 存储过程将这些记录返回给订单处理器以进行操作 有些情况下多个处理器能够检索相同的 Ord
  • MYSQL限制特定列值的出现次数

    从数据库中提取一些优惠券 每张优惠券都有一个merchantid包含优惠券所属商家 ID 的列 我正在尝试构建一个提取 5 张优惠券的查询 但我只想要每张 1 张优惠券merchantid 我不想要多张相同的优惠券merchantid 你可
  • strtol 重用参数

    该代码似乎按预期工作 使用单个指针填充数字数组 include
  • 您可以指定嵌入 IPython 后运行的命令吗?

    打电话时IPython embed 是否可以给它一个命令或魔术函数来在嵌入发生后运行 我想运行这样的东西 import IPython IPython embed command pylab qt4 我当前的解决方法是将命令字符串复制到剪贴
  • 在 boost::spirit 语法中翻转规则内的子规则顺序会导致段错误

    警告 虽然我试图将代码缩短到最少 我仍然需要包含相当多的内容 以确保提供所需的信息 该代码编译文件并运行 导致语法错误 name simple name qi val qi 1 qualified name qi val qi 1 虽然这
  • 将前导零填充到公共宽度[重复]

    这个问题在这里已经有答案了 我正在处理具有小时格式的数据库 例如 HOUR ID 1 2 10 4 5 6 20 6 我想在 1 个字符的值中放置一个零 并将它们存储在名为 NHOUR 的新列中 例如 NHOUR HOUR ID 01 1