我本质上是在尝试相当于查找。这是我到目前为止所做的:
Hotel Rate1 Rate2 Rate3 Rate4 Season
Hotel1 225 205 250 155 Rate2
Hotel2 175 165 180 175 Rate1
Hotel3 160 210 210 225 Rate3
Hotel4 230 210 200 150 Rate2
Hotel5 180 160 175 165 Rate4
正如你所看到的,我已经让它吐出应该变量的名称,现在我正在寻找一种方法让它吐出与变量名对应的值,比如这样:
Hotel Rate1 Rate2 Rate3 Rate4 Season Exp.Rate
Hotel1 225 205 250 155 Rate2 205
Hotel2 175 165 180 175 Rate1 175
Hotel3 160 210 210 225 Rate3 210
Hotel4 230 210 200 150 Rate2 210
Hotel5 180 160 175 165 Rate4 165
我已经完成了一些Google搜索,并且我尝试过使用eval(as.name),但我找不到任何与我正在寻找的完全相同的东西。
有什么想法吗?
答案 0 :(得分:0)
我们可以使用row/column
索引方法来提取值。使用行序列创建一个match
,cbind
的列索引,并获取与索引对应的数据集子集('df1 [2:5]`)的值,并将其分配给' Exp.Rate'
df1$Exp.Rate <- df1[2:5][cbind(1:nrow(df1), match(df1$Season, names(df1)[2:5]))]
df1$Exp.Rate
#[1] 205 175 210 210 165