我正在创建一个这样的简单数据框:
qcCtrl <- data.frame("2D6"="DNS00012345", "3A4"="DNS000013579")
Run Code Online (Sandbox Code Playgroud)
我的理解是列名称应为"2D6"和"3A4",但它们实际上是"X2D6"和"X3A4".为什么要添加X以及如何停止?
我不建议使用以数字开头的列名,但如果你坚持,请使用以下check.names=FALSE参数data.frame:
qcCtrl <- data.frame("2D6"="DNS00012345", "3A4"="DNS000013579",
check.names=FALSE)
qcCtrl
2D6 3A4
1 DNS00012345 DNS000013579
Run Code Online (Sandbox Code Playgroud)
我提出警告的原因之一是$操作员变得更加棘手.例如,以下内容失败并显示错误:
> qcCtrl$2D6
Error: unexpected numeric constant in "qcCtrl$2"
Run Code Online (Sandbox Code Playgroud)
为了解决这个问题,每当你使用它时,你必须在列表中包含你的列名:
> qcCtrl$`2D6`
[1] DNS00012345
Levels: DNS00012345
Run Code Online (Sandbox Code Playgroud)