x<-c("Anne","anne","bkk")
y<-tolower(x)
duplicated(y)
你的意思是不是按照剩余n-1列进行去重啊?如果是这种,直接用duplicated函数,例如
set.seed(1234)
df <- data.frame(x1 = sample(c("Normal","Unnormal"), 10, replace = TRUE),
x2 = sample(c("a","b"), 10,replace = TRUE),
x3 = sample(c("c","d"), 10,replace = TRUE))
df
df[!duplicated(df[,-1]),] # 按第2,3列去重后的结果
如果是要去重且必须指定第一列值是“正常”,可以用dplyr包
library(dplyr)
df %>% group_by(x2,x3) %>% filter(x1 == "Normal" &row_number() == 1) %>% ungroup() #
1、首先,打开RStudio并创建一个新的文件脚本,[File]—[NewScript]。
2、这样就会发现前面代码在全局环境下留下的数据集是非常麻烦的。清洗方法如下:
3、首先,写入rm(A)以清除对应对象的数据(rm=remove)。
4、通过比较,可以发现前一个对象已经被清除。