改变变量值的格式
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
我遇到了一个情况,正在寻找一种方便的方法来使用一两行脚本 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