改变变量值的格式

changing the format of variable values

我遇到了一个情况,正在寻找一种方便的方法来使用一两行脚本 convert/change 变量条目。这是我拥有的数据示例:

id <- c("001/15","002/15","003/15")
con <- c("white","green","blue")
entry <- data.frame(id,con)
entry
      id   con
1 001/15 white
2 002/15 green
3 003/15  blue

我使用这些行将 id 条目更改为我想要的,但我有更多条目:

entry$id <- as.character(entry$id)
entry$id[entry$id=="001/15"] <- "00115"
entry$id[entry$id=="002/15"] <- "00215"
entry$id[entry$id=="003/15"] <- "00315"

entry
     id   con
1 00115 white
2 00215 green
3 00315  blue

我正在寻找一种一次性更改所有 ID 条目的方法!

感谢您的帮助,

巴兹

只需使用sub:

> sub("/", "", entry$id)
[1] "00115" "00215" "00315"

> entry$id <- sub("/", "", entry$id)
> entry
     id   con
1 00115 white
2 00215 green
3 00315  blue

编辑以回答您的评论:只需使用 entry$entry <- rownames(entry)(如果您想将其保留为字符列)或 entry$entry <- seq_along(nrow(entry))(如果您想将其保留为数字列)。您可以像这样重新排列列:

> entry$entry <- seq_along(nrow(entry))
> entry[, c(length(entry), 1:(length(entry) - 1))]
  entry    id   con
1     1 00115 white
2     2 00215 green
3     3 00315  blue