我有一个情况,并寻找一种方便的方法来转换/更改变量条目使用一行或两行脚本。这是我拥有的数据的一个例子:
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条目!
感谢您的帮助,
巴兹
答案 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