我注意到有时R在操作列时使用近似匹配.
例
age=18:19
height=c(76.1,77)
village=data.frame(age=age,height=height)
village$test=village$ag+2
Run Code Online (Sandbox Code Playgroud)
village$ag它将使用,而不是告诉我那不存在village$age.
是否有可能改变这种行为?
您可以使用 [
> village["ag"]
Fehler in `[.data.frame`(village, "ag") : undefined columns selected
> village["age"]
age
1 18
2 19
Run Code Online (Sandbox Code Playgroud)
该函数[[允许两种方法(参数exact):
> village[["ag"]]
NULL
> village[["age"]]
[1] 18 19
> village[["ag", exact = FALSE]]
[1] 18 19
Run Code Online (Sandbox Code Playgroud)
这种现象称为部分匹配(见?pmatch):
> pmatch("ag", names(village))
[1] 1
Run Code Online (Sandbox Code Playgroud)