r - 在R中的字符串中添加0
问题描述
我有一个数据集,其中包含 A1-A24、B1-B24 到 P24 的所有列井。我想在任何只有 2 个字符的井中间添加一个 0。例如,A1 将变为 A01,而 B24 将保持为 B24。
这是我所拥有的一个例子:
数据框
1 A1
2 A2
3 A3
4 A4
5 A5
6 A6
7 A7
8 A8
9 A9
10 A10
11 A11
12 A12
这就是我要的:
数据框
1 A01
2 A02
3 A03
4 A04
5 A05
6 A06
7 A07
8 A08
9 A09
10 A10
11 A11
12 A12
解决方案
我们可以这样做gsub
+sprintf
transform(
df,
y = sprintf("%s%02i", gsub("\\d", "", y), as.numeric(gsub("\\D", "", y)))
)
这使
x y
1 1 A01
2 2 A02
3 3 A03
4 4 A04
5 5 A05
6 6 A06
7 7 A07
8 8 A08
9 9 A09
10 10 A10
11 11 A11
12 12 A12
数据
> dput(df)
structure(list(x = 1:12, y = c("A1", "A2", "A3", "A4", "A5",
"A6", "A7", "A8", "A9", "A10", "A11", "A12")), class = "data.frame", row.names = c(NA,
-12L))
推荐阅读
- javascript - 使用 Php,我如何访问我通过 Ajax 传递的 Java 脚本对象
- c++ - 使用字符数组和递归反转字符串,一些线程 1:EXC_BAD_ACCESS 错误
- mysql - 计算期初借方和贷方和余额
- c++ - (C++) 输入检查器无法正常工作
- reactjs - 那是 chrome bug 还是 react 的?还是我不理解或做错了什么?
- java - 在java中基于逗号分隔的字符串创建json?
- android - Android:在 ec2 实例上安装时如何解决模拟器错误?
- python - Xlwings:从 Excel 文件运行 python
- qualtrics - Qualtrics:导入 txt 文件时如何设置强制响应选项
- rxjs6 - 我如何使用 rxjs 忽略第二个、第三个按钮单击,直到我的第一个按钮单击过程完成