如何使用R创建新的ID列
我正在处理csv文件,并试图为没有整个csv文件id的行分配新id如何使用R创建新的ID列,r,R,我正在处理csv文件,并试图为没有整个csv文件id的行分配新id what I have I would like to create NewID Number Id number -------> NewId number 1245 1245 1367 1367 NoID NoID_1 1468
what I have I would like to create NewID Number
Id number -------> NewId number
1245 1245
1367 1367
NoID NoID_1
1468 1468
NoID NoID_2
NoID NoID_3
1456 1456
一个选项是转换为
数值
,以查找非数值的
i1 <- is.na(as.numeric(df1[["ID number"]]))
df1$NewId <- df1[["ID number"]]
df1$NewId[i1] <- paste0(df1[["ID number"]][i1], "_", seq(sum(i1)))
i1谢谢@akrun。它非常有用。它可以工作,但新的Id顺序不准确。e、 g NoID-->1245\u 1,但我想成为NoID\u 1。@Dreamer\u 19谢谢,我之前没有测试。有一些打字错误。更正。请查收
i1 <- !grepl("^\\d+$", df1[["ID number"]])
df1 <-structure(list(`ID number` = c("1245", "1367", "NoID", "1468",
"NoID", "NoID", "1456")), class = "data.frame", row.names = c(NA,
-7L))