键入部分列名称会产生该列中的值

时间:2017-06-27 16:55:05

标签: r

很抱歉,如果这看起来像是一个菜鸟问题,但它搞砸了我:你是否可以输入列的部分名称并且它不会引发错误,但是根据名称“猜测”?例如:

d = data.frame(test = c(1,2,3,4),
           tmp = c(5,6,7,8),
           tmp1 = c(9,10,11,12))

如果我输入'd $ te',我会得到:

d$te
[1] 1 2 3 4

但如果我输入:

d$tm
NULL

我输入d$tes时会更喜欢收到错误。这是默认行为吗?可以更改吗?

1 个答案:

答案 0 :(得分:2)

这是一个众所周知的“功能”。相反,将data.frame切换为tibble:

library(tibble)
d <- as_tibble(d)
d$te

NULL
Warning message:
Unknown or uninitialised column: 'te'.