无法使用dplyr重命名列

问题描述 投票:0回答:1

我正在尝试将数据框中的列从Characteristics..genotype.重命名为genotype,并且从Characteristics..age.重命名为age

pData(raw_data) %>%
  rename(
    age = Characteristics..age.,
    genotype = Characteristics..genotype.
  )

我收到以下错误:

重命名错误(。,age = Characteristics..age。,genotype = Characteristics..genotype。):对象'Characteristics..age。'找不到

由于数据帧中存在列,因此没有意义:

pData(raw_data)$Characteristics..genotype.

以上输出:

[1] N171-HD82Q N171-HD82Q N171-HD82Q wt wt N171-HD82Q N171-HD82Q N171-HD82Q wt wt[12] wt N171-HD82Q N171-HD82Q N171-HD82Q wt wt wt含量:N171-HD82Q wt

我想念什么?

r dplyr tidy
1个回答
2
投票

一个选项将是反引号

library(dplyr)
 pData(raw_data) %>%
  rename(
    age = `Characteristics..age.`,
   genotype = `Characteristics..genotype.`
  )   

或者根据错误(与plyr::rename一起复制),最好使用::指定要从中加载的软件包以避免掩盖

pData(raw_data) %>%
  dplyr::rename(
    age = Characteristics..age.,
   genotype = Characteristics..genotype.
  )   

但是,当在dplyr_0.8.3上进行测试时,它很好地工作了,没有反引号很好

data(mtcars)
raw_data <- head(mtcars)
names(raw_data)[1] <- "Characteristics..genotype."
raw_data %>%
      dplyr::rename(genotype = Characteristics..genotype.)
#             genotype cyl disp  hp drat    wt  qsec vs am gear carb
# ...

问题是plyr也包含相同的rename函数,因此,如果还加载了程序包,则可能会掩盖dplyr::rename

raw_data %>% 
    plyr::rename(genotype = Characteristics..genotype.)

plyr :: rename(。,genotype = Characteristics..genotype。)错误:未使用的参数(基因型=特征..基因型。)

© www.soinside.com 2019 - 2024. All rights reserved.