从数据框中提取值?

时间:2017-03-01 07:39:06

标签: r dataframe tidyverse

如果我有数据框,提取值的标准方法是使用布尔/逻辑表达式来匹配正确的行和列。例如:

set.seed(1)
df <- data.frame(letters = letters[1:3], numbers = as.character(c(1, 2, 1)), value=rnorm(3))
subset(df, letters=="c" & numbers=="1")$value
[1] -0.8356286

然而,将许多==语句串联在一起似乎有点笨拙。另一种方法是使用行名作为键:

Key <- function(...) paste(..., sep="%") # this could be any formatting
row.names(df) <- with(df, Key(letters, numbers))
df[Key("c", "1"), "value"]
[1] -0.8356286

在tidyverse中,不鼓励使用行名称 - 匹配和提取值的推荐方法是什么?

0 个答案:

没有答案