我有一个包含大约200个列名的数据表,但是,我有几个重复的列,并且在所有方面完全相同,即它们具有相同的名称和相同的条目。
我想除掉其中一个重复的列。
以例如:
Code AEE AEE Code AEE EPI Code AEPI
20/09/1991 4562.43 108.13 20/09/1991 2017698 60.16 20/09/1991 18309
23/09/1991 4578.89 108.52 23/09/1991 2017698 56.55 23/09/1991 18309
24/09/1991 4578.89 108.52 24/09/1991 2017698 58.36 24/09/1991 18309
25/09/1991 4631.04 109.76 25/09/1991 2017698 56.55 25/09/1991 18309
26/09/1991 4665.34 110.57 26/09/1991 2017698 58.36 26/09/1991 18309
正如您所见,“代码”列经常重复。
执行:Data[, Code := NULL]
只删除第一个“代码”,而不是其他代码。
理想情况下,输出看起来像:
Code AEE AEE AEE EPI AEPI
20/09/1991 4562.43 108.13 2017698 60.16 18309
23/09/1991 4578.89 108.52 2017698 56.55 18309
24/09/1991 4578.89 108.52 2017698 58.36 18309
25/09/1991 4631.04 109.76 2017698 56.55 18309
26/09/1991 4665.34 110.57 2017698 58.36 18309
因此只剩下第一个Code列。 谢谢!
答案 0 :(得分:2)
试试这个:
Data <- Data[, !duplicated(lapply(Data, summary))]
答案 1 :(得分:0)
您可以按列号删除:
Data[, c(4,7) := NULL]
Data
# Code AEE AEE AEE EPI AEPI
#1: 20/09/1991 4562.43 108.13 2017698 60.16 18309
#2: 23/09/1991 4578.89 108.52 2017698 56.55 18309
#3: 24/09/1991 4578.89 108.52 2017698 58.36 18309
#4: 25/09/1991 4631.04 109.76 2017698 56.55 18309
#5: 26/09/1991 4665.34 110.57 2017698 58.36 18309
答案 2 :(得分:0)
你也可以这样做:
df <- df[,!duplicated(names(df))]
OR
df <- df[,unique(names(df))]