首页 > 解决方案 > R: as.name() - 不支持的类型符号错误”

问题描述

我试图tibbles通过列“GCA”和“model”将两个连接在一起,但出现错误:

'by' 必须将一列或多列指定为数字、名称或逻辑

所以,正如我tibble有这些列:

str(data)
Classes ‘spec_tbl_df’, ‘tbl_df’, ‘tbl’ and 'data.frame':    1 obs. of  6 variables:
$ gc    : num 0.59
$ score : num 210
$ evalue: num 1.2e-55
$ inc   : chr "!"
$ model : chr "Chlamydo"
$ GCA   : chr "GCA_000091205.1"

我感兴趣的列是字符,我试过这个:

data %>%
 mutate_at(vars(GCA, model), funs(as.symbol))

但后来我得到了这个错误:

错误:列GCA的类型符号不受支持

但是,当我尝试另一种方式时...

data$GCA = as.name(data$GCA)
data$model = as.name(data$model)

... 有用!

str(data)
Classes ‘spec_tbl_df’, ‘tbl_df’, ‘tbl’ and 'data.frame':    1 obs. of  6 variables:
$ gc    : num 0.59
$ score : num 210
$ evalue: num 1.2e-55
$ inc   : chr "!"
$ model : symbol Chlamydo
$ GCA   : symbol GCA_000091205.1

然后,当我只想查看我的数据时,我得到了这个:

x[i] 中的错误:“符号”类型的对象不是子集

知道发生了什么吗?

编辑:

第一个小标题:

structure(list(gc = 0.59, score = 210, evalue = 1.2e-55, inc = "!", 
model = Chlamydo, GCA = GCA_000091205.1), row.names = c(NA, 
-1L), class = c("spec_tbl_df", "tbl_df", "tbl", "data.frame"))

我想加入的第二个小标题:

structure(list(model_seq = "cuCacuuuga", sec_struct = "[[[[[[[[,,,", 
model = "Chlamydo", GCA = "GCA_000091205.1"), class = c("tbl_df", 
"tbl", "data.frame"), row.names = c(NA, -1L))

标签: rdplyr

解决方案


推荐阅读