【发布时间】:2016-11-01 03:12:05
【问题描述】:
您好,我是法国工程专业的学生,我有一个大学项目。目前,如果它们在列的值中相似,我想删除我的数据中的行。我的数据库是这样的:
node event grade std date groupe name
6794 57605 100 659 2016-04-08 10:59:45.882267 cm1_mat_001_eap_001 c8
6794 84007 0 659 2016-04-29 13:44:47.156998 cm1_mat_001_eap_001 c8
6794 86729 100 659 2016-05-02 14:17:02.945516 cm1_mat_001_eap_001 c8
6794 88921 100 659 2016-05-04 09:00:52.157544 cm1_mat_001_eap_001 c8
6797 10119 0 659 2016-05-17 08:27:28.371022 cm1_mat_001_eap_001 c8
6794 98291 100 729 2016-05-12 08:27:13.920052 cm1_mat_001_eap_001 c8
6794 99711 100 729 2016-05-13 06:50:13.60001 cm1_mat_001_eap_001 c8
6812 87995 100 796 2016-05-03 07:33:31.108374 cm1_mat_002_eap_003 c8
目前,如果列中的值相似,我想删除行。 就我而言,如果“node”和“std”列中的值相似,我想根据此条件删除重复的行并保留第一行。
6794 57605 100 659 2016-04-08 10:59:45.882267 cm1_mat_001_eap_001 c8
6797 10119 0 659 2016-05-17 08:27:28.371022 cm1_mat_001_eap_001 c8
6794 98291 100 729 2016-05-12 08:27:13.920052 cm1_mat_001_eap_001 c8
6812 87995 100 796 2016-05-03 07:33:31.108374 cm1_mat_002_eap_003 c8
如您所见,第四行仍然存在,因为我要创建的条件仅在“node”和“std”相似时才考虑重复数据。在这种情况下,“std”的值等于前几行,但不等于“node”中的值。
感谢您的帮助。 :)
【问题讨论】:
-
install.packages("data.table"); data.table::setDT(df); data.table::setkey(df, node, std); unique(df)
标签: r duplicates