R引用数据框架内的其他行

  • 本文关键字:其他 框架 引用 数据 r
  • 更新时间 :
  • 英文 :


我有以下数据框架df:

indx adj_coords explore_ind
1    1    2, 3, 4        dark
2    2    1, 3, 5        dark
3    3    1, 2, 4       light
4    4    1, 3, 5        dark
5    5    1, 4, 5       light

df<-structure(list(indx = 1:5, adj_coords = list(2:4, c(1L, 3L, 5L), c(1L, 2L, 4L), c(1L, 3L, 5L), c(1L, 4L, 5L)), explore_ind = c("dark", 
"dark", "light", "dark", "light")), row.names = c(NA, 
5L), class = "data.frame")

我想添加另一个名为adj_coord_explore_ind的列,它告诉我们在adj_cord中给定的行是暗的还是亮的。结果看起来像这样:

indx adj_coords explore_ind     adj_coords_explore_ind
1    1    2, 3, 4        dark    dark, light, dark
2    2    1, 3, 5        dark    dark, light, light
3    3    1, 2, 4       light    dark, dark, dark
4    4    1, 3, 5        dark    dark, light, light
5    5    1, 4, 5       light    dark, dark, light
df$adj_coords_explore_ind <- map(df$adj_coords, ~ df$explore_ind[.x])

一个选项可以是:

within(df, adj_coords_explore_ind <- lapply(adj_coords, function(x) explore_ind[match(x, indx)]))
indx adj_coords explore_ind adj_coords_explore_ind
1    1    2, 3, 4        dark      dark, light, dark
2    2    1, 3, 5        dark     dark, light, light
3    3    1, 2, 4       light       dark, dark, dark
4    4    1, 3, 5        dark     dark, light, light
5    5    1, 4, 5       light      dark, dark, light

最新更新