R中如何直接为无引号逗号分隔文本加引号生成字符向量
R无需写入文件直接将逗号分隔文本转为字符向量的方法
你可以直接用以下两种常用方案实现,全程不需要操作本地文件:
方案1:用strsplit分割字符串(基础包自带,无需安装额外包)
操作逻辑:先把所有逗号分隔的文本整体包在一对双引号里存为单个字符串,再按逗号分割后解包列表即可得到目标字符向量
示例代码:
# 存入原始逗号分隔文本 raw_text <- "ACOT13,BIRC6,BOD1L1,CALM3,CDC42,CEP350,CIAO1,CLTA,CLTC,DIAPH1,DYNC2I1,DYNLL1,HAUS8,INO80,KIF22,KIFC1,MAD1L1,MAPK1,NSFL1C,NUP62,PLK3,PRC1,PRPF19,RMDN3,SEPTIN2,TUBG1,WDR62" # 按逗号分割得到字符向量 gene_vec <- unlist(strsplit(raw_text, split = ","))
运行后直接输入gene_vec就能看到每个元素都自动带双引号,测试第一个元素:
输入gene_vec[1]会返回 "ACOT13",完全符合要求。
方案2:用scan直接读取文本流(适合带特殊格式的场景)
如果你的原始文本存在多余空格、换行等格式问题,用scan处理更方便,它原生支持按分隔符读取文本流:
示例代码:
raw_text <- "ACOT13,BIRC6,BOD1L1,CALM3,CDC42,CEP350,CIAO1,CLTA,CLTC,DIAPH1,DYNC2I1,DYNLL1,HAUS8,INO80,KIF22,KIFC1,MAD1L1,MAPK1,NSFL1C,NUP62,PLK3,PRC1,PRPF19,RMDN3,SEPTIN2,TUBG1,WDR62" # sep指定分隔符,quiet关闭读取统计提示,strip.white可自动去除元素前后空格 gene_vec <- scan(text = raw_text, what = character(), sep = ",", quiet = TRUE, strip.white = TRUE)
内容的提问来源于stack exchange,提问作者moth
相关产品推荐
相关产品推荐

