【发布时间】:2018-09-12 15:52:04
【问题描述】:
考虑这个简单的例子
mytest <- data_frame(group = c('a', 'a', 'a', 'b', 'b', 'b'),
x = c(NA,NA,NA,5,6,7),
other_var = c(NA, NA, NA, 1,2,3),
y = c(3,5,6,NA,NA,NA),
another_var = c(1,2,3, NA,NA,NA),
label_x = c('hello','hello','hello','world','world','world'),
label_y =c('bada','bada','bada','boom','boom','boom'),
label_other_var = c('ak','ak','ak','run','run','run'),
label_another_var = c('noo','noo','noo','bie','bie','bie'))
# A tibble: 6 x 9
group x other_var y another_var label_x label_y label_other_var label_another_var
<chr> <dbl> <dbl> <dbl> <dbl> <chr> <chr> <chr> <chr>
1 a NA NA 3 1 hello bada ak noo
2 a NA NA 5 2 hello bada ak noo
3 a NA NA 6 3 hello bada ak noo
4 b 5 1 NA NA world boom run bie
5 b 6 2 NA NA world boom run bie
6 b 7 3 NA NA world boom run bie
在这里,我需要通过group nest() 这个数据框,并且能够提取不是 NA 的变量的列名(在每个嵌套数据框中)。诀窍是变量的实际名称显示在label_ 列中
例如,这是所需的输出:
# A tibble: 4 x 2
group var
<chr> <chr>
1 a bada
2 a noo
3 b world
4 b run
确实,组a。只有一个非缺失变量是y 和another_var。但是y 的名称是bada(如label_y 变量所示),another_var 的名称是noo。 b 的原因相同。
我不知道如何在运行后调用map 来做到这一点
mytest %>% group_by(group) %>% nest()
# A tibble: 2 x 2
group data
<chr> <list>
1 a <tibble [3 x 8]>
2 b <tibble [3 x 8]>
有什么想法吗? 谢谢!
编辑:最初提出的较小的小标题如下
mytest <- data_frame(group = c('a', 'a', 'a', 'b', 'b', 'b'),
+ x = c(NA,NA,NA,5,6,7),
+ y = c(3,5,6,NA,NA,NA),
+ label_x = c('hello','hello','hello','world','world','world'),
+ label_y =c('bada','bada','bada','boom','boom','boom'))
【问题讨论】:
-
您能否也保留原始数据集并将其作为更新,这样我就不必更改原始答案。将更新答案
-
好的,我也可以添加旧的