R和列名称中的近似匹配

时间:2013-12-19 11:37:07

标签: r

我注意到,当我操纵一列时,R有时使用近似匹配。

实施例

age=18:19
height=c(76.1,77)
village=data.frame(age=age,height=height)
village$test=village$ag+2

不是告诉我village$ag不存在,而是使用village$age

是否可以改变这种行为?

1 个答案:

答案 0 :(得分:6)

您可以使用[

> village["ag"]
Fehler in `[.data.frame`(village, "ag") : undefined columns selected

> village["age"]
  age
1  18
2  19

函数[[允许两种方法(参数exact):

> village[["ag"]]
NULL

> village[["age"]]
[1] 18 19

> village[["ag", exact = FALSE]]
[1] 18 19

这种现象称为部分匹配(见?pmatch):

> pmatch("ag", names(village))
[1] 1