如何在data.frame中永久禁用stringsAsFactors = TRUE?

时间:2011-11-18 04:50:36

标签: string r dataframe

见标题。坦率地说,我有点厌倦了手动进行调整。

这应该是一个简单的问题,但我无法弄清楚如何解决它。感谢。

1 个答案:

答案 0 :(得分:53)

在R会话开始时或在.RProfile中设置options(stringsAsFactors = FALSE)

正如下面的评论所暗示的那样,stringsAsFactors在R社区中是一个有争议的话题。你发现这个默认值有多刺激可能在某种程度上取决于你花多少时间使用R来适应许多“标准”统计模型(lmglm等)。许多模型拟合和相关函数都是使用因子数据类型构建的。

如果您将大部分时间用于其他更“通用”类型的数据分析,您可能会发现此默认设置更具刺激性。

由于下面提到的原因,全局设置stringsAsFactors = FALSE被广泛认为是危险的:它在共享代码时会引起很大的混淆。实际上,即使您主要是单独工作,如果您坚持使用stringsAsFactors = FALSE运行R,那么参与StackOverflow等在线社区可能会非常棘手:您对问题的回答可能不适用于OP,或者您可能无法复制其他人看到的错误!

当然,每个人都可以自己选择如何最好地为自己管理这些风险。