重新构造复数因子向量,千位后用逗号分隔

2023-12-08

我想重新格式化一个因子向量,以便它包含的数字有千位分隔符。该向量包含整数和实数,对于值或顺序没有任何特定规则。

Data

特别是,我正在使用向量vec类似于下面生成的:

content <- c("0 - 100", "0 - 100", "0 - 100", "0 - 100",
             "150.22 - 170.33",
             "1000 - 2000","1000 - 2000", "1000 - 2000", "1000 - 2000", 
             "7000 - 10000", "7000 - 10000", "7000 - 10000", "7000 - 10000",
             "7000 - 10000", "1000000 - 22000000", "1000000 - 22000000", 
             "1000000 - 22000000",
             "44000000 - 66000000.8989898989")

vec <- factor(x = content, levels = unique(content))

期望的结果

我的目标是重新格式化这个向量,使数字包含类似 Excel 1,000分隔符,如下例所示:

100.00 1,000.00
1,000,000.00
1,000,000.56
24,564,000,000.56


尝试过的方法

我正在考虑利用gsubfn以及一个将传递数字的原型对象。然后也许创建另一个 3 位数字的原型对象并替换。正如下面代码中所建议的:

gsubfn(pattern = "[0-9][0-9][0-9]", replacement = ~paste0(x, ','), 
       x = as.character(vec))

这仅部分有效,因为在以下位置插入了逗号:

“150,.22 - 170,.33”

这显然是错误的。我还必须将字符向量转换为因子。因此,我的问题归结为两个要素:

  • 如何解决逗号问题?
  • 如何保持因子的原始结构? - 我需要以与原始向量相同的方式排序因子向量,但在正确的位置使用逗号。

操作only on the levels似乎保持你的精度水平,而不是将你的矢量转换为character向量并且效率更高,因为它将您操作的数据大小减少为唯一值(而不是整个向量)

levels(vec) <- sapply(strsplit(levels(vec), " - "), 
                       function(x) paste(prettyNum(x, 
                                            big.mark = ",", 
                                            preserve.width = "none"), 
                                   collapse = " - "))
vec
#  [1] 0 - 100                            0 - 100                            0 - 100                            0 - 100                            150.22 - 170.33                   
#  [6] 1,000 - 2,000                      1,000 - 2,000                      1,000 - 2,000                      1,000 - 2,000                      7,000 - 10,000                    
# [11] 7,000 - 10,000                     7,000 - 10,000                     7,000 - 10,000                     7,000 - 10,000                     1,000,000 - 22,000,000            
# [16] 1,000,000 - 22,000,000             1,000,000 - 22,000,000             44,000,000 - 66,000,000.8989898989
# Levels: 0 - 100 150.22 - 170.33 1,000 - 2,000 7,000 - 10,000 1,000,000 - 22,000,000 44,000,000 - 66,000,000.8989898989 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

重新构造复数因子向量,千位后用逗号分隔 的相关文章

  • 使用 R 的 flextable 包时,有没有办法将传递给 add_header_lines() 的字符串部分加粗

    我正在使用我喜欢的 flextable 包为 Word 文档创建几个表格 但是 我在将表格标题中的部分文本加粗时遇到了一些麻烦 例如 我希望标题为 Table 1 我的表格标题的其余部分 而不是 表 1 我的表格标题的其余部分 I 找到这个
  • 如何使用 R 中带引号的字符值内的序列读取 CSV?

    这是一个包含两个字符列的 CSV 文件 key value a 所有字符值都用双引号引起来 并且有一个顺序 在值之一内 转义引号加分隔符 我无法通过 read csv readr 中的 read csv 或 data table 中的 fr
  • python中的StringIO实际用途是什么?

    StringIO到底是用来做什么的 我一直在互联网上寻找一些例子 然而 几乎所有的例子都非常抽象 他们只是展示 如何 使用它 但它们都没有表明 为什么 和 在什么情况下 应该 将使用它 附注不要与 stackoverflow 上的这个问题混
  • 在 C# 中替换文本,同时保持大小写不变

    我有一组句子需要用来进行替换 例如 abc gt cde ab df gt de 我有一个文本可以在哪里进行更改 但是我无法事先知道所述文本的大小写 因此 举例来说 如果我有 A bgt abc hyi Abc Ab df h 我必须更换并
  • 如何在 R 中为传单中的数值变量设置不对称颜色渐变

    我想让传单调色板以零为中心 红白绿发散 我已经尝试过中所说的这个帖子 https stackoverflow com questions 29262824 r center color palette on 0 当我尝试手动创建颜色时 我得
  • 限制数据框中所有单元格的字符串长度?

    您好 有没有一种方法可以限制 data frame 中所有列的字符串文本大小 而不必循环遍历每一列并一次使用 str trunc 之类的东西 例如下面的数据框 我可以将所有文本大小限制为仅 5 个字符 而不必一次只执行一列吗 如果有 50
  • 如何获得属于五分位数的x?

    我正在大学学习使用 R 进行计量经济学项目 所以请原谅我的笨拙 基本上 使用并给出 一个矩阵 股票价格 行 天 列 公司股票价格 另一个矩阵 市值 行 天 列 公司市值 我必须收集第三个矩阵每天观察的属于市值分布第一五分位数的股票价格 然后
  • realloc():重新分配为 char * 上的 strcat 腾出空间时下一个大小无效 [重复]

    这个问题在这里已经有答案了 我在以下代码中收到无效内存错误 printf s n FINE 5 printf s LENGTH IS d n FINE 6 strlen buffer char realloc buffer strlen b
  • 如何在 Swift 中将文件名与文件扩展名分开?

    给定包中文件的名称 我想将该文件加载到我的 Swift 应用程序中 所以我需要使用这个方法 let soundURL NSBundle mainBundle URLForResource fname withExtension ext 无论
  • 如何分割字符串并在ant脚本的for循环中使用它?

    我在 ant 属性中有一个机器 IP 列表
  • 如何检查PHP变量是否包含非数字?

    我只是想知道检查 PHP 变量中是否有非数字的方法以及它是否也检测字符之间的空格 需要确保我的表单字段中没有添加任何奇怪的内容 提前致谢 如果您的意思是您只想要一个包含数字的值 那么您可以使用ctype digit http php net
  • 为绘图制作 2D 图例 - 双变量分区统计图

    我一直在玩双变量 choropleth 地图 并且一直在如何创建类似于 2d 图例的问题上陷入困境约书亚 史蒂文斯 http www joshuastevens net cartography make a bivariate chorop
  • 在Python中使用.replace替换多个字符[重复]

    这个问题在这里已经有答案了 所以我试图制作一个简单的程序 将一个短语解码为不同的短语 这是我现在的代码 def mRNA decode phrase newphrase phrase replace A U phrase replace T
  • R:表格格式

    我有一个包含以下列的 Excel 文件 Column1 Column2 Column3 ab bb 0 5 ab bc 0 1 ab cd 0 7 ab dd 0 8 ac bb 0 2 ac bg 0 8 ac ee 0 8 ac dd
  • 带 R 的多彩标题

    我想添加颜色某些词在我的图表标题中 我已经能够在这里找到一些先例 http blog revolutionanalytics com 2009 01 multicolor text in r html 具体来说 我希望用撇号括起来的文本 在
  • 如何计算嵌套函数中的粘合表达式?

    我正在尝试嵌套一个函数 该函数将两个字符串粘合在一起 该函数使用组合字符串来命名数据帧的列 然而 问题似乎是粘合表达式没有足够早地评估为字符串 我可以 并且应该 强制在将表达式作为参数传递给另一个函数之前对其进行求值吗 library ti
  • 检查 JavaScript 字符串是否为 URL

    JavaScript 有没有办法检查字符串是否是 URL 正则表达式被排除在外 因为 URL 很可能是这样写的stackoverflow 也就是说它可能没有 com www or http 如果你想检查一个字符串是否是有效的 HTTP UR
  • 16 位以上整数的计算

    我有两个大整数 两者都超过 16 位 确切地说是 20 位 而且我知道由于双精度浮点运算 我在使用这些数字进行计算甚至将它们存储在变量中 独立于编程语言 时受到限制 不过 我想也许gmp图书馆应该处理它们 但不幸的是它没有 可以计算更大的整
  • GGPLOT2:如何在 ggplot() 脚本中绘制特定选择

    这是一个名为的大型数据集的峰值P 其中有 10 个优惠 CS 有不同的商店 SHP 具有多个数值 数据集列出了按周排序的它们 WK 2 tm 52 它创建一个大文件 仅前 6 行出现峰值 WK MND CS SHP RevCY RevLY
  • 如何将 ggrough 图表另存为 .png

    说我正在使用R包裹ggrough https xvrdm github io ggrough https xvrdm github io ggrough 我有这个代码 取自该网页 library ggplot2 library ggroug

随机推荐

  • 是否可以在 Web API 中使用 ASP.NET 应用程序缓存?

    例如 在 ASP NET 页面中 您可以执行类似的操作 Cache Add 并通过访问它Cache key 在这种情况下 缓存是System Web Caching Cache object 无论如何 是否可以在 Web API 控制器中执
  • ASP.NET Web 应用程序构建输出 - 如何包含所有部署文件?

    当我建立我的ASP NETWeb 应用程序我得到一个 dll 文件 其中包含网站的代码 这很棒 但是该网站还需要所有 aspx 文件和朋友 并且这些文件需要放置在正确的目录结构中 我怎样才能将这一切作为每次构建的结果都放在一个目录中 尝试从
  • 多行上的元素右对齐

    我想对齐lidiv 右侧的元素 我可以通过浮动来做到这一点ul向右 然而 我有很多li元素 因此根据 div 的宽度 其中一些会移动到下一行 问题是li元素左对齐 将浮动放在右侧li可以解决这个问题 但它会颠倒菜单项的顺序 请看下文 row
  • 如何在spring session项目中修改或自定义sessionId?

    我的项目使用Spring Boot和Spring Session 现在我想在redis中的会话数据持久化之前修改或自定义sessionId 我该怎么办 谢谢 也许您需要阅读文档 Spring Session 与 Spring Boot 配合
  • 配置 JBoss 使用 JNDI 时出现问题

    我正在尝试在 JBoss 上运行的应用程序中使用 JNDI 将连接绑定到数据库 我做了以下事情 我创建了数据源文件oracle ds xml用相关的 xml 元素填充它
  • 网站图标未显示,我的图标不好

    如果我从另一个网站复制一个图标并进行测试 我就可以使用图标 但我自己的在 IE8 Chrome 中不起作用 我的图标是由 Visual Studio 创建的 32x32 24 位图标 我似乎总是无法使图标正常工作 我应该使用什么 我以为我可
  • 在 vb.net 中声明/打开 Excel 文件

    我已经尝试在 vb net 中声明或打开 Excel 工作表一段时间了 我已经读过vb net 中的 Excel 文件和其他链接 但它不起作用 我添加了 Microsoft Excel 12 0 对象库 包括我 Imports Micros
  • iTextSharp 和 Xamarin

    我正在尝试在 Xamarin 应用程序中使用 iTextSharp dll 但无法编译 因为我收到了此错误 Error Exception while loading assemblies System IO FileNotFoundExc
  • ControlTemplate Storyboard颜色动画问题

    我对彩色动画有疑问 这是我的来源
  • 如何在给定视图空间深度值和 ndc xy 的情况下恢复视图空间位置

    我正在编写一个延迟着色器 并试图将我的 gbuffer 包装得更紧密 但是 我似乎无法正确计算给定视图空间深度的视图位置 depth gt gl ModelViewMatrix vec4 pos xyz 1 z where pos is t
  • Android 设备未使用 adb 显示

    我已经为此搜索了很长时间 我已经尝试了所有我能找到的技巧 我一直在同一台设备上调试几个月 将应用程序完美地部署在其他完全相同的设备上 但是由于上星期 我无法再连接到它 通过 USB 连接设备 我可以听到计算机的声音警告已连接的设备 并且我可
  • 快速获取图像的亮度/光度

    我正在 php 中工作 并逐像素地检查每个图像以获得每个图像的平均亮度 这将是 CPU 密集型的方式 我已经浏览了 GD 和 imagemagick 文档 但还没有找到返回图像平均亮度的方法 这可以在这些库中快速完成 还是在另一个可以通过
  • 如何在 Postman 中编写全局函数

    我需要帮助编写一个通用函数来跨请求集合使用 这将有助于构建框架 我尝试过使用以下格式 以下函数在第一个函数的 测试 选项卡中声明 postman setGlobalVariable function function function1 p
  • 服务 chromedriver 意外退出。状态代码为:1

    我在 Google Colab 中运行此代码 它工作正常 但突然在 chromedriver 中出现此错误 我是 python 网络抓取的新手 Error WebDriverException Traceback most recent c
  • 使用 solrfacet stats 时如何分页?

    我已经通过 solr 方面统计信息从 solr 选择了所有记录 但我无法对它们进行分页 如何通过 pageSize 和 pageNum 进行分页 使用 solrfacet stats 时不能分页 因为使用 solrfacet stats 会
  • Pandas:to_csv() 得到了意外的关键字参数

    当我尝试使用数据帧 to csv 函数中的某些参数时 它会抛出 TypeError 例如 TypeError to csv gets an Unexpected keywords argument doublequote df to csv
  • Powershell:在特定的当前同级元素后添加新的 XML 元素

    我有一个 xml 列表 我希望在其中添加一个新的子元素
  • 如何使用 SQLite 将值转入列?

    我做了一张桌子叫tbl用这个代码 CREATE TABLE tbl Year int Album varchar 255 Artist varchar 255 Label varchar 255 Genre varchar 255 id i
  • 从对象数组内的数组返回唯一的数组值

    我找不到类似的问题 我有点卡住了 我有以下 JSON 数组 Name element1 Attributes 1 2 Name element2 Attributes 1 3 Name element3 Attributes 我正在尝试创建
  • 重新构造复数因子向量,千位后用逗号分隔

    我想重新格式化一个因子向量 以便它包含的数字有千位分隔符 该向量包含整数和实数 对于值或顺序没有任何特定规则 Data 特别是 我正在使用向量vec类似于下面生成的 content lt c 0 100 0 100 0 100 0 100