gpt4 book ai didi

r - 在 R 中进行子集化时保留重复的列名

转载 作者:行者123 更新时间:2023-12-02 05:24:01 26 4
gpt4 key购买 nike

我在 R 中有一个包含重复列名的数据框,当我使用子集从此数据框中选择特定列时,它会重命名重复项,使它们不同。当我使用函数 data.frame() 创建数据框时,我可以通过使用参数 check.names = FALSE 来阻止这种情况的发生,有没有一种方法我也可以使用子集(或任何其他选择名称列的方式)来做到这一点.

例如说我有数据框

data <- data.frame('sample' = 50, 'x_mean' = 1.5, 'Lower CI' = 1.0, 'Upper CI' = 2.0, 'sample' = 50, 'y_mean' = 0.6, 'Lower CI' = 0.3, 'Upper CI' = 0.9, check.names = FALSE)

selectVec <- c(TRUE, TRUE, TRUE, TRUE, FALSE, TRUE, TRUE, TRUE)

使用代码

subset(data, select = selectVec)

将重复的置信区间重命名为“Lower CI.1”和“Upper CI.1”,而我想将它们保留为“Lower CI”和“Upper CI”。有谁知道这样做的方法吗?

提前致谢。

最佳答案

看起来您将获得与 [ 相同的行为。我能想到的唯一方法是之后重新分配名称:

subdata <- data[, selectVec, drop = FALSE]
names(subdata) <- names(data)[selectVec]

但是,请注意,使用重复的列名是一种非常不自然、复杂(显然)且有风险的数据保存格式。我会尝试理解为什么文件或 data.frame 首先有重复的列并在那里修复它。

关于r - 在 R 中进行子集化时保留重复的列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13415312/

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