如何将复制函数应用于数据帧的列
问题描述:
这似乎很简单,我几次搜索后都找不到答案,但我不知道自己做错了什么。具体而言,我想知道MARGIN
论据是否应该允许我检查与duplicated
重复的列。如何将复制函数应用于数据帧的列
这是可以编码:
dim(b)
[1] 59 130
duplicated(b, MARGIN = 2)
[1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[14] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[27] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[40] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[53] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
duplicated(b, MARGIN = 1)
[1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[14] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[27] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[40] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[53] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
从1改变到MARGIN
2没有影响,每次我得到59分的结果为59点的行。我正在寻找最简单的方法来删除重复的列,并遇到了duplicated
。我认为重复应该工作,因为在文档中它提到了保证金参数MARGIN the array margin to be held fixed: a single integer.
但显然我还不明白。
请详细说明,谢谢。
答
MARGIN
参数仅适用于duplicated()
的数组方法,而不适用于数据框方法。但是您可以使用
b[!duplicated(c(b))]
删除数据框的重复列。 c()
用于删除“data.frame”类,将b
转换为列表。 duplicated()
的默认方法在列表上工作。有关更多信息,请参见help(duplicated)
。