我有非常大的矩阵,我知道他们的一些姓氏是重复的。所以我只想找到那些重复的名称并从重复删除列。 我试过duplicate()
,但它删除了重复的条目。 有人会帮我在R中实现这个吗? 重点是,重复的名称,可能没有重复的条目。如何删除R中的重复列名?
11
A
回答
33
假设temp
是你的矩阵
temp <- matrix(seq_len(15), 5, 3)
colnames(temp) <- c("A", "A", "B")
## A A B
## [1,] 1 6 11
## [2,] 2 7 12
## [3,] 3 8 13
## [4,] 4 9 14
## [5,] 5 10 15
你可以做
temp <- temp[, !duplicated(colnames(temp))]
## A B
## [1,] 1 11
## [2,] 2 12
## [3,] 3 13
## [4,] 4 14
## [5,] 5 15
或者,如果你想保持过去的重复列,你可以做
temp <- temp[, !duplicated(colnames(temp), fromLast = TRUE)]
## A B
## [1,] 6 11
## [2,] 7 12
## [3,] 8 13
## [4,] 9 14
## [5,] 10 15
10
或者假设您可以使用数据框架subset
:
subset(iris, select=which(!duplicated(names(.))))
请注意,dplyr::select
在此处不适用,因为它需要输入数据中的列唯一性。
0
将所有副本存储到一个向量中说重复,并使用带有单个括号子集的重复删除重复的列。
# Define vector of duplicate cols (don't change)
duplicates <- c(4, 6, 11, 13, 15, 17, 18, 20, 22,
24, 25, 28, 32, 34, 36, 38, 40,
44, 46, 48, 51, 54, 65, 158)
# Remove duplicates from food and assign it to food2
food2 <- food[,-duplicates]
相关问题
- 1. R:如何按列删除重复行
- 2. 删除列中的重复项R
- 3. 如何删除矩阵中的列中的重复行R
- 4. 如何通过R中列的值删除重复行?
- 5. r str_split后删除并重命名列
- 6. 如何从列表中删除重复
- 7. R删除重复行
- 8. 删除R中的列名中的点
- 9. 删除相邻的重复r中
- 10. 删除R中的半重复行
- 11. R Studio中的重复数据删除
- 12. 删除R中重复的两行
- 13. 删除R中的重复行
- 14. 删除R中的重复行?
- 15. 删除数据框列表中的重复列r
- 16. 如何R中立刻删除重复值的多个列的单个列
- 17. 如何删除重复的列条目?
- 18. 如何清除重复命名的列?
- 19. R中删除重复和和值
- 20. 删除R中同一数据帧列中的重复值/重复值
- 21. 删除重复的行(基于2列)中的R
- 22. 根据r中多个列的条件删除重复的行
- 23. 如何用R删除字符串中的重复字符?
- 24. 如何删除R中的重复推文?
- 25. 删除列表中的重复列表
- 26. 如何删除从列表C#重复
- 27. 删除重复的列值
- 28. 删除重复的列dplyr
- 29. 删除重复的excel列
- 30. R删除每列中的重复数据