改变变量值的格式

时间:2015-02-21 03:17:04

标签: r variables format

我有一个情况,并寻找一种方便的方法来转换/更改变量条目使用一行或两行脚本。这是我拥有的数据的一个例子:

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条目!

感谢您的帮助,

巴兹

1 个答案:

答案 0 :(得分:1)

只需使用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