我注意到,当我操纵一列时,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
。
是否可以改变这种行为?
答案 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