我有一个行号列表,表示数据集中包含异常值的行。我想在标记包含异常值的行的原始数据集中添加一个“异常值”列,但我无法弄清楚如何在r中使用行号作为标准。
示例:
我有一个这样的数据框:
id <-c("a","b","c","d")
values <-c(10,11,22,33)
df<-data.frame(names,values)
id values
1 a 10
2 b 11
3 c 22
4 d 33
这样的列表包含行号(更准确地说是“行名”):
outliers <-c(2,4)
我想找到一种方法来使用行号列表作为标准:
df$outlier_test<-ifelse( if row number is on my list, "outlier","")
生成这样的东西:
id values outlier_test
1 a 10
2 b 11 outlier
3 c 22
4 d 33 outlier
答案 0 :(得分:0)
我花了很长时间试图解开这个问题,并在我发布问题后立即获得灵感。对于任何来这里提出这个问题的人:
首先:
df$rownumber<- row.names(df)
然后:
df$outlier_test<- ifelse(df$rownumber %in% outliers,"outlier","")