基于组 R 编号 ID
Numbering IDs based on group R
下面的 dataframe
名为 df1
。我想根据它接近 'Apple' 分配一个 ID,它会将 ID 号更改为下一个序号。当分配 'Apple' 时,我希望之后的所有相应标签都是为 'Apple' 分配的标签。但是一旦 'Apple' 出现,它就会上升一个数字,如下面的标签。
非常感谢!
df1 <- data.frame (fruit_name = c("Apple", "Banana", "Cherry",
"Orange", "Blueberry", "Peach",
"Apple", "Banana", "Cherry",
"Orange", "Blueberry", "Peach",
"Apple", "Banana", "Cherry",
"Orange", "Blueberry",
"Apple", "Cherry"))
进入以下
df2 <- data.frame (ID = c("1", "1", "1", "1", "1", "1", "2", "2",
"2", "2", "2", "2", "3", "3", "3", "3", "3",
"4", "4"),
fruit_name = c("Apple", "Banana", "Cherry",
"Orange", "Blueberry", "Peach",
"Apple", "Banana", "Cherry",
"Orange", "Blueberry", "Peach",
"Apple", "Banana", "Cherry",
"Orange", "Blueberry",
"Apple", "Cherry"))
我们可以使用rowid
library(data.table)
df1$ID <- rowid(df1$fruit_name)
您可以使用cumsum
df1$ID <- cumsum(df1$fruit_name == 'Apple')
下面的 dataframe
名为 df1
。我想根据它接近 'Apple' 分配一个 ID,它会将 ID 号更改为下一个序号。当分配 'Apple' 时,我希望之后的所有相应标签都是为 'Apple' 分配的标签。但是一旦 'Apple' 出现,它就会上升一个数字,如下面的标签。
非常感谢!
df1 <- data.frame (fruit_name = c("Apple", "Banana", "Cherry",
"Orange", "Blueberry", "Peach",
"Apple", "Banana", "Cherry",
"Orange", "Blueberry", "Peach",
"Apple", "Banana", "Cherry",
"Orange", "Blueberry",
"Apple", "Cherry"))
进入以下
df2 <- data.frame (ID = c("1", "1", "1", "1", "1", "1", "2", "2",
"2", "2", "2", "2", "3", "3", "3", "3", "3",
"4", "4"),
fruit_name = c("Apple", "Banana", "Cherry",
"Orange", "Blueberry", "Peach",
"Apple", "Banana", "Cherry",
"Orange", "Blueberry", "Peach",
"Apple", "Banana", "Cherry",
"Orange", "Blueberry",
"Apple", "Cherry"))
我们可以使用rowid
library(data.table)
df1$ID <- rowid(df1$fruit_name)
您可以使用cumsum
df1$ID <- cumsum(df1$fruit_name == 'Apple')