Я полагаю, если ваш data.frame
имеет только 2 столбца, то использование named
vector было бы целесообразным вариантом. Это обеспечивает простой способ подмножества.
Мне кажется, что столбец name
уникален в вашем data.frame. Если это так, то вы можете преобразовать столбец name
в rownames
, тогда выбор будет намного проще.
#change the 'name' to rownames
rownames(df) <- df$name
df$name <- NULL
#Now selection will be much easier
df[my.string, "ID"]
#22
Использование «именованного вектора»:
itemVector <- c(22,23,24)
names(itemVector) <- c("coffee", "tea", "milk")
itemVector[my.string]
# coffee
# 22
Данные:
df <- read.table(text =
"ID name
22 coffee
23 tea
24 milk",
header = TRUE, stringsAsFactors = FALSE)