Name Grade
John C
John C+
John C
John B
John A
John A+
Kat B
Kat C
Kat B
Run Code Online (Sandbox Code Playgroud)
我想添加一个新列,Months
从3开始,然后继续其倍数.行都是排序的.输出看起来像
Name Grade Months
John C 3
John C+ 6
John C 9
John B 12
John A 15
John A+ 18
Kat B 3
Kat C 6
Kat B 9
Run Code Online (Sandbox Code Playgroud)
RCODE
name <- df$Name[1]
count <- 0
for (i in 1:length(df[,1])){
if (name!=df$Name[i]){
count <- 0
name <- df$Name[i]
}
df$Months[i] <- count
count <- count + 3
}
Run Code Online (Sandbox Code Playgroud)
我可以不用循环吗?
试试这个
library(dplyr)
df1 %>% group_by(Name) %>% mutate(Months=3*seq(n()))
Run Code Online (Sandbox Code Playgroud)