配对R中索引的项目

时间:2016-04-22 13:51:16

标签: r

我有一个数据框glob如图所示

 a  b    c         Index Def
 3  4   "good"      1    ANGLO
 1  3   "great"     2    ORTHO
 4  1   "average"   3    TEEN
 2  3   "ok"        4    SPLEEN

索引是索引,我想将列a和b内容替换为位于相应索引的备用单元格中的Def的内容。我希望得到一个结果数据框

TEEN  SPLEEN  "good"
ANGLO TEEN    "great"
SPLEEN ANGLO  "average"
ORTHO  TEEN    "ok"

如果您可以使用1)for循环2)apply

提供代码将非常有用

1 个答案:

答案 0 :(得分:2)

这是你想要的解决方案吗?

df$a <- df$Def[df$Index[df$a]]
df$b <- df$Def[df$Index[df$b]]
df
       a      b       c Index    Def
1   TEEN SPLEEN    good     1  ANGLO
2  ANGLO   TEEN   great     2  ORTHO
3 SPLEEN  ANGLO average     3   TEEN
4  ORTHO   TEEN      ok     4 SPLEEN

您可以使用以下方法删除最后两列:

df <- df[, c('a', 'b', 'c')]
df
       a      b       c
1   TEEN SPLEEN    good
2  ANGLO   TEEN   great
3 SPLEEN  ANGLO average
4  ORTHO   TEEN      ok