检查数据框中是否存在行名?

hig*_*dth 3 r dataframe rowname

我想通过字符串名称来寻址数据帧的行,并且该表将按顺序构建。我想做类似的事情

> mytab <- data.frame(city=c("tokyo","delhi","lima"),price=c(9,8,7),row.names=1)
> mytab
      price
tokyo     9
delhi     8
lima      7 
> # I can add a new row
> mytab["london",] = 8.5
Run Code Online (Sandbox Code Playgroud)

现在,我需要检查行名称是否已经存在。

> mytab["ny",]
[1] NA
Run Code Online (Sandbox Code Playgroud)

有什么我可以做的更好的事了

> if (is.na(mytab["ny",])) { mytab["ny",]=9;}

因为NA否则可能会出现?

小智 5

像这样

if (!('ny' %in% row.names(mytab))) {mytab['ny',]=9}
Run Code Online (Sandbox Code Playgroud)

可能会解决问题。