【问题标题】:How do convert userID to an integer number in R?如何将用户ID转换为R中的整数?
【发布时间】:2020-04-20 14:17:42
【问题描述】:

我有一个列名为“userID”的数据集,其中 userID = (P001, P002, P010, P001, P010, P181)。

我需要转换 P001 等于 1,P002 等于 2,P010 等于 10 和 P181 等于 181,并保持它们的向量位置与数据集中相同。

有人可以帮我吗?

提前致谢。

【问题讨论】:

  • dataset$usernr <- as.integer(substr(dataset$userID, 2, 4))

标签: r string integer character tidyverse


【解决方案1】:

另一种解决方案

test <- c("P102","P103", "P001")
readr::parse_number(test)
[1] 102 103   1

【讨论】:

  • @Yuriy,优秀的解决方案!非常感谢。
【解决方案2】:

假设 ID 变量中的所有条目都具有相同的格式 P+"some-numbers"

library(stringr)
test <- c("P102","P103", "P001" )
as.numeric( str_extract(test, "\\d+"))
[1] 102 103   1

【讨论】:

  • 应该使用 as.integer,正如@jogo 所建议的那样
  • @desval,非常感谢。它也适用于我。
  • @desval,库名称中有错字。我试图编辑您的答案,但编辑需要至少 6 个字符。我认为您的意思是“stringr”而不是“srstringr”。 :)
  • @desval 没有问题!
猜你喜欢
  • 1970-01-01
  • 2013-05-14
  • 2011-06-19
  • 2021-05-20
  • 1970-01-01
  • 2011-04-04
  • 2021-08-18
  • 1970-01-01
  • 2019-04-22
相关资源
最近更新 更多