【问题标题】:function to extract first 2 digits of 5 digits numbers within a dataframe in r在r中的数据帧中提取5位数字的前2位的函数
【发布时间】:2020-05-22 12:21:06
【问题描述】:

如何选择数字的前 2 位数字?我只需要函数的名称

示例:12455 变成 12,13655 变成 13

基本上它相当于整数的子字符串。

【问题讨论】:

  • 嗨...你的编程语言是什么?
  • 对不起,我忘了说,它是工作室

标签: r substr


【解决方案1】:

如果最后你需要一个数字向量/元素,你可以使用

as.numeric(substr(x, 1, 2))

【讨论】:

  • 你说得对,我使用了as.character,因为在文档中写到substr 需要一个字符向量,但实际上该函数在内部使用as.character。我编辑我的答案以使用更少的代码。谢谢@DarrenTsai
【解决方案2】:

此解决方案使用gsub,锚点^ 表示字符串的起始位置,\\d{2} 表示出现在此位置的任何两位数字,包裹在(...) 中以将其标记为捕获组,并反向引用\\1 在替换参数中,它“召回”捕获组:

x <- c(12455,13655)

gsub("(^\\d{2}).*", "\\1", x)
[1] "12" "13"

或者,使用str_extract:

library(stringr)
str_extract(x, "^\\d{2}")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-20
    • 2018-10-19
    • 1970-01-01
    • 2014-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多