将带有数字或连字符的字符串解析为R中的一个字符串

时间:2018-08-02 15:59:40

标签: r parsing

我正在尝试用连字符和/或数字解析字符串以调用特定的行。

gene_name <- c("EP-CAM")
Genename=paste0("RNA$",gene_name)
Gene=eval(parse(text = paste0(Genename)))

这是错误:

Error in eval(parse(text = paste0(Genename))) : 
  object 'CAM' not found

例如,我将需要解析RNA $ EP-CAM。反引号不会给我输出,而只会显示字符串。

使用数字将发生相同的情况。我想这只是parse命令的问题。有替代方案吗? 这类似于该问题:Unexpected symbol error in parse(text = str) with hyphen after a digit

非常感谢您的支持。

D

1 个答案:

答案 0 :(得分:2)

在通话中添加打勾对我来说很有效。这里的问题是“ EP-CAM”实际上不是有效名称。

RNA <- list(`EP-CAM` = 0)
gene <- c("EP-CAM")
geneName <- paste0("RNA$`", gene, "`")
eval(parse(text = geneName))
# [1] 0

实际上,以下内容将该列重命名为EP.CAM

data.frame(`EP-CAM` = 0)
#   EP.CAM
# 1      0