gpt4 book ai didi

r - 保留具有不同名称的重复列。右

转载 作者:行者123 更新时间:2023-12-04 09:29:45 28 4
gpt4 key购买 nike

我想保留重复的列,并删除唯一的列。这些列将具有相同的值,但名称不同。

x1 = rnorm(1:10)
x2 = rnorm(1:10)
x3 = x1
x4 = rnorm(1:10)
x5 = x2
x6 = rnorm(1:10)
x7 = rnorm(1:10)
df = data.frame(x1,x2,x3,x4,x5,x6,x7)

从这里我将保留列 x1、x2、x3 和 x5。

python也有类似的问题: Get rows that have the same value across its columns in pandas

最佳答案

对数据的转置版本使用duplicated,因为该函数默认检查行重复,而不是列重复。

df[duplicated(t(df)) | duplicated(t(df), fromLast=TRUE)]

# x1 x2 x3 x5
#1 1.82633666 1.2271611 1.82633666 1.2271611
#2 -1.33187496 0.9654359 -1.33187496 0.9654359
#...

正如@Frank所说,您也可以将df视为向量列表 -

df[duplicated(c(df)) | duplicated(c(df), fromLast=TRUE)]

或者您可以显式调用 array 方法,指定要检查重复项的列:

df[duplicated.array(df, MARGIN=2) | duplicated.array(df, MARGIN=2, fromLast=TRUE)]

关于r - 保留具有不同名称的重复列。右,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33664015/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com