R语言中read.delim可用但提示找不到write.delim函数是什么原因
报错原因
read.delim是R内置utils包的自带函数,无需额外加载第三方包即可直接调用,因此读取文件步骤可正常执行- R原生工具集没有提供名为
write.delim的函数,你已加载的readr包中同功能函数命名为下划线分隔的write_delim,和你调用的点分隔命名不匹配,因此R无法找到对应函数抛出错误。
解决方法
你可以任选以下任意一种方案修改代码:
方案1:使用R基础包函数写入
调用原生write.table适配制表符分隔的tsv文件输出,将原write.delim行替换为如下代码:
write.table(test, file = "result.tsv", sep = "\t", row.names = FALSE, quote = FALSE)
参数说明:
sep = "\t"指定分隔符为制表符,匹配tsv格式要求row.names = FALSE避免输出多余的行号列quote = FALSE避免对字符串内容默认添加双引号
方案2:使用已加载的readr包函数写入
你已经加载了readr包,可以直接调用包内的专用写入函数,代码更简洁,运行效率更高:
直接调用tsv专用写入函数
write_tsv(test, file = "result.tsv")
如需自定义分隔符,也可调用通用分隔写入函数
write_delim(test, file = "result.tsv", delim = "\t")
readr包的写入函数默认已关闭行号输出、非必要场景不会自动为字符串加引号,无需额外配置参数。
内容的提问来源于stack exchange,提问作者Ali Satari
相关产品推荐
相关产品推荐

