R中的Data.frames:名称自动完成?

Rob*_*all 6 r dataframe

对不起,如果这是微不足道的.我在R中看到以下行为:

> myDF <- data.frame(Score=5, scoreScaled=1)
> myDF$score ## forgot that the Score variable was capitalized
[1] 1
Run Code Online (Sandbox Code Playgroud)

预期结果:返回NULL(甚至更好:抛出错误).

我搜索过这个,但无法找到任何关于此行为的讨论.是否有人能够就此提供任何参考,为什么要这样做的理由以及是否有任何方法可以防止这种情况?一般来说,我会喜欢一个R版本,它的变量稍微严格一些,但似乎永远不会发生......

mes*_*rra 6

$操作者需要一个数据帧的名称来索引它仅第一独特部分.例如:

> d <- data.frame(score=1, scotch=2)
> d$sco
NULL
> d$scor
[1] 1
Run Code Online (Sandbox Code Playgroud)

避免这种行为的一种方法是使用[[]]运算符,其行为如下:

> d <- data.frame(score=1, scotch=2)
> d[['scor']]
NULL
> d[['score']]
[1] 1
Run Code Online (Sandbox Code Playgroud)

我希望这很有帮助.

干杯!