2
我注意到有時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
。
是否有可能改變這種行爲?
我注意到有時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
。
是否有可能改變這種行爲?
您可以使用[
> 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
是否可以取消激活這個部分匹配? – Ophelie
@Ophelie使用村莊[[「age」]]有什麼問題? –