我正在比较原始数据与修改数据集的最大可能性。对于修改后的数据集,我需要创建一个函数,如果参数的值超过特定值,该行将行分为两行。例如,基础数据集如下所示:
Year ID Displacement
1999 A 38
1999 B 15
2001 B 19
2003 C 17
对于修改后的数据集,我想将第一行中的38除以19行的两行。如下所示:
Year ID Displacement
1999 A 19
1999 A 19
1999 B 15
2001 B 19
2003 C 17
答案 0 :(得分:1)
这样的东西?
df2 <- df[with(df, c(rep(which(Displacement >= 38), 2), which(Displacement < 38))), ];
df2$Displacement[df2$Displacement >= 38] <- df2$Displacement[df2$Displacement >= 38] / 2;
# Year ID Displacement
#1 1999 A 19
#1.1 1999 A 19
#2 1999 B 15
#3 2001 B 19
#4 2003 C 17
df <- read.table(text =
"Year ID Displacement
1999 A 38
1999 B 15
2001 B 19
2003 C 17", header = T)