如何用空格分隔数千[重复]

2024-02-16

我想格式化数字,以便每一千都应该用空格分隔。

我尝试过的:

library(magrittr)
addSpaceSep <- function(x) {
  x %>% 
    as.character %>% 
    strsplit(split = NULL) %>% 
    unlist %>% 
    rev %>% 
    split(ceiling(seq_along(.) / 3)) %>% 
    lapply(paste, collapse = "") %>% 
    paste(collapse = " ") %>% 
    strsplit(split = NULL) %>% 
    unlist %>% 
    rev %>% 
    paste(collapse = "")
}

> sapply(c(1, 12, 123, 1234, 12345, 123456, 123456, 1234567), addSpaceSep)
[1] "1"         "12"        "123"       "1 234"     "12 345"    "123 456"   "123 456"  
[8] "1 234 567"
> sapply(c(1, 10, 100, 1000, 10000, 100000, 1000000), addSpaceSep)
[1] "1"      "10"     "100"    "1 000"  "10 000" "1e +05" "1e +06"

我对编写这个临时函数感到非常遗憾,但由于我还没有掌握正则表达式,所以这是我发现的唯一方法。当然如果把数字转换成科学格式就不行了。


这似乎更适合format()函数而不是正则表达式。这format()存在格式化数字的函数

format(c(1, 12, 123, 1234, 12345, 123456, 123456, 1234567), big.mark=" ", trim=TRUE)
# [1] "1"         "12"        "123"       "1 234"     "12 345"    "123 456"  
# [7] "123 456"   "1 234 567"
format(c(1, 10, 100, 1000, 10000, 100000, 1000000), big.mark=" ", scientific=FALSE, trim=TRUE)
# [1] "1"         "10"        "100"       "1 000"     "10 000"    "100 000"  
# [7] "1 000 000"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何用空格分隔数千[重复] 的相关文章

随机推荐

  • Keras LSTM:检查模型输入维度时出错

    我是 keras 的新用户 正在尝试实现 LSTM 模型 为了测试 我声明了如下所示的模型 但由于输入维度的差异而失败 虽然我在这个网站上发现了类似的问题 但我自己无法发现我的错误 ValueError Error when checkin
  • 在图像上写文字 查看图像

    目前 我正在开发一个应用程序 其中我有一个图像视图 图像不断 一段时间后发生变化 现在我希望我能够写一些文字或绘制任何符号 简单线 十字线意味着在图像上绘图出现在图像视图中 意思是我想要 在图像上添加文本或绘制一些符号或线条等 我到处寻找但
  • 如何删除所有 git origin 和 local 标签?

    如何删除已经推送的 git 标签 删除所有 git 远程 原始 标签并删除所有 git 本地标签 删除所有本地标签 可选推荐 git tag d git tag l 获取远程所有标签 可选推荐 git fetch 删除所有远程标签 Note
  • Angular 2 指令现在“可扩展”吗?

    我对 Angular 1 遇到的最大问题是扩展指令 在面向对象的意义上 是多么困难 例如 几乎不可能重复使用input number 我的自定义小部件上的指令 我必须重新实现所有验证和类型转换代码 Angular 2 组件是作为类实现的 因
  • Android WebView HTML5 Video Spawns MediaPlayer 永远存在于三星 S4 上 [找到了被黑的答案]

    据我所知 这似乎是最近的三星设备特有的 S4将做到这一点 Nexus 7 不会 如果带有 WebChromeClient 的 WebView 开始播放 HTML5 视频 它会创建一个 MediaPlayer 实例 一旦视频结束 似乎没有办法
  • 作曲家从私人仓库创建项目

    我有一个托管在 Bit Bucket 上的私人项目 我有一个 SSH 密钥设置 有什么办法我可以使用php composer create project vendor name path命令的方式与 Packagist 上的命令相同吗 好
  • std::atomic 是否正常工作?

    我正在阅读 Anthony Williams 的 C Concurrency in Action 第 5 章 其中讨论了新的多线程感知内存模型和原子操作 他指出 为了使用std atomic
  • 交替运行两个线程的最佳方法?

    更新 请参阅此问题的底部以获得完整的答案 我想运行一个辅助线程 以便我的主线程和辅助线程交替执行操作 不 我不想在主线程中执行所有操作 这是为了单元测试 我提出了两种不同的解决方案 我不知道哪个是最好的 并且我对第一个解决方案有疑问 使用交
  • 在 Swing 中显示 HTML

    我正在开发一个从服务器加载 HTML 文件并在 swing 中显示它们的项目 import java io import java net import java util regex import javax swing public c
  • Asp.Net 5 (Mvc 6) 中的自定义 ClaimsPrincipal

    我怎样才能覆盖默认值Context User类型的System Security Claims ClaimsPrincipal在 Asp Net 5 MVC 6 中 我想使用我的自定义用户类型 以便可以在控制器中访问它 HttpContex
  • JavaScript 检查资源是否可以通过 fetch 访问

    我基本上只是想验证是否可以从执行客户端访问资源 我不能使用XHR 因为目标资源不允许这样做 我对 JS 还很陌生 目前正在研究这个 此处可执行 https jsbin com hadoluqire edit html console out
  • Kotlin 数据类上的属性包含/排除

    假设我只想在生成的 equals 和 hashCode 实现中包含一两个字段 或者可能排除一个或多个字段 对于一个简单的类 例如 data class Person val id String val name String Groovy
  • CSS - 如何在导航标题之间添加点

    登录www linkedIn com后 右上角导航栏显示标题如下 Welcome XXX Skip to Content Search Add Connections Settings Help Sign Out 我想知道他们如何在不同标题
  • pkg_resources.DistributionNotFound:未找到“pipenv==2018.10.13”发行版,并且应用程序需要该发行版

    由于 ansible 的一些损坏的软件包 我重新安装了 pip 和 pipelinev 现在 看来我的 pip 依赖项都被搞砸了 非常感谢任何建议或帮助 which python2 usr local bin python2 which p
  • 在 Silverlight 中的 TextBlock 之后显示一行

    我正在 Silverlight 4 中处理数据表单 并希望按部分对元素进行分组 并为每个元素指定一个标题 标题由一个 TextBlock 和后面的水平线组成 该线一直延伸到表格的边缘 我已经尝试过以下操作 来自此线程 http forums
  • 默认定义的移动构造函数的 noexcept 规则是什么?

    特别是与std vector重要的是类型是noexcept尽可能移动 所以在声明移动构造函数时 default like in struct Object1 Object1 Object1 other default std is noth
  • 在自定义视图类中访问 FragmentManager

    在我的自定义视图中 我有一个运行简单游戏的 Java 类 游戏结束后我想展示我的DialogFragment 但是getFragmentManager 方法似乎未定义 FragmentManager manager getFragmentM
  • 从 Dataflow 将嵌套架构写入 BigQuery (Python)

    我有一个数据流作业要写入 BigQuery 它适用于非嵌套模式 但不适用于嵌套模式 这是我的数据流管道 pipeline options PipelineOptions p beam Pipeline options pipeline op
  • vim 保存后会创建我的文件的副本吗?

    你好呀 使用 vim 每当我进行更改并保存文件时 vim 似乎都会创建一个备份文件 我可以看到这是我进行更改并保存之前的文件 我怎样才能防止这种情况或隐藏这些文件 I type wq保存并退出 是的 最好你应该设置如下 set backup
  • 如何用空格分隔数千[重复]

    这个问题在这里已经有答案了 我想格式化数字 以便每一千都应该用空格分隔 我尝试过的 library magrittr addSpaceSep lt function x x gt as character gt strsplit split