我使用odbcConnect连接到数据库的RODBC连接。 我正在一张表中读到一个变量。
这个表有一个文本列,但是当我在text列上提交一个子集时,我得到了一个因子。 我正在寻找一个stringsasfactors = FALSE等效使用RODBC读表。 有关如何实现这一目标的任何想法? 谢谢!
答案 0 :(得分:2)
使用例如sqlQuery的stringsAsFactors
选项。文档是例如here。
从帮助页面修改基本示例:
channel <- odbcConnect("test")
sqlSave(channel, USArrests, rownames = "State", verbose = TRUE)
options(dec=".") # optional, if DBMS is not locale-aware or set to ASCII
## note case of State, Murder, Rape are DBMS-dependent,
## and some drivers need column and table names double-quoted.
sqlQuery(channel, paste("select State, Murder from USArrests",
"where Rape > 30 order by Murder"),
stringsAsFactors=FALSE) ## your option here
close(channel)
当sqlFetch()
通过via ...
传递参数时,它将以相同的方式工作。只需添加stringsAsFactors=FALSE
,甚至可以通过options()
全局设置。