【发布时间】:2021-01-24 01:53:09
【问题描述】:
我有一个包含两列 A (char) 和 B (num) 的数据框。我想找到 B 的对应值,对于 A 的值。
例如,我有以下数据,我想从 B 列中找到“b”的值并将其分配给某个变量 val。我们不知道 a,b,c,d 的顺序,所以我们想使用给定的字符。
所以 val = 5
【问题讨论】:
我有一个包含两列 A (char) 和 B (num) 的数据框。我想找到 B 的对应值,对于 A 的值。
例如,我有以下数据,我想从 B 列中找到“b”的值并将其分配给某个变量 val。我们不知道 a,b,c,d 的顺序,所以我们想使用给定的字符。
所以 val = 5
【问题讨论】:
我们可以创建一个包含“A”列的逻辑向量,将“B”值作为子集并将其分配(<-)给对象“val”
df<-data.frame("A"=c('a', 'b', 'c', 'd'), "B"=c(3, 5, 8, 2))
val <- with(df, B[A=='b'])
【讨论】:
你可以使用match:
val <- df$B[match('b', df$A)]
【讨论】: