R 重新编码变量 - 意外的 INCOMPLETE_STRING

标签 r r-car

我正在尝试在 R 中重新编码因子变量并使用以下代码:

library(car)
napier_captureComplexity=recode(napier$a_SpatialConnectivity,"'1 - Very simple and clear:     no diagrams, single sheets'=1;'2 - Reasonably simple: some simple diagrams or second sheets'=2;'3 - Reasonably complex: multiple diagrams or sheets but can be followed'=3;'4 - Moderately complex: multiple diagrams and sheets'=4;'5 - Very complex'=5;",as.factor.result=FALSE)

并收到以下错误消息:
Error in parse(text = range[[1]][1]) : <text>:1:1: unexpected INCOMPLETE_STRING 1: '4 - Moderately complex

在数字 4 下方带有 ^

我不确定是什么原因造成的,我想知道 : 通过代码,但我没有使用 c() 并且代码在数据集中具有相似字符串值的其他因素上执行良好。

任何帮助表示赞赏!

最佳答案

这实际上是因为您的描述中的“:”。这个函数使用了一些奇怪的 evalstrsplit工作的声明。它最终 split 为“:”,因为这是它们语法中的特殊代码,而且似乎无法逃避它。

但我假设 napier$a_SpatialConnectivity是那些给定水平的因素?您可以通过显式设置 factor() 中的级别来重新编码变量。称呼。

mylevels <- c("1 - Very simple and clear:     no diagrams, single sheets",
  "2 - Reasonably simple: some simple diagrams or second sheets", 
  "3 - Reasonably complex: multiple diagrams or sheets but can be followed", 
  "4 - Moderately complex: multiple diagrams and sheets", 
  "5 - Very complex")

napier_captureComplexity <- as.numeric(factor(napier$a_SpatialConnectivity, levels=mylevels))

这将按照 1:5 的顺序对级别进行排序,这恰好是您尝试重新编码它们的方式。

关于R 重新编码变量 - 意外的 INCOMPLETE_STRING,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24255402/

相关文章:

r - 更改 RMarkdown 代码输出中错误消息的颜色(HTML、PDF)

r - 估计 Yeo 和 Johnson 变换的 Lambda

r - R未找到汽车包(加载失败)

r - Levene 检验的多重比较事后检验

r - 使用汽车包装中的散点图并排绘制

r - 根据日期映射 tibble,具体取决于日期范围

r - 如何获得两个矩阵的交集?

r - 在 R 中使用变量获取 lmList()

eclipse - 使用 Eclipse 运行时出现 rJava 错误

R 方差膨胀因子 - 警告 : No function found corresponding to methods exports from ‘SparseM’ for: ‘coerce’