2017-08-07 3 views
2

からのパラメータのサブセットのユニークな組み合わせを抽出し、次のダミーデータは、私は元のparamsを取得することができますどのようにデータd、考えるは、きちんとしたデータ

library(plyr) 

dummy_model <- function(...){ 
    data.frame(x = rnorm(100), y = rnorm(100)) 
} 

params <- expand.grid(a=1:10, b=letters[1:4]) 

d <- mdply(params, dummy_model) 
str(d) 
# 'data.frame': 4000 obs. of 4 variables: 
# $ a: int 1 1 1 1 1 1 1 1 1 1 ... 
# $ b: chr "a" "a" "a" "a" ... 
# $ x: num 0.812 1.183 2.839 -0.928 -1.427 ... 
# $ y: num -0.796 0.137 0.976 1.118 0.4 ... 

を設定して考えてみましょうか?

私の現在の戦略は、データを分割して最初の行を選択することですが、それほどエレガントではありません。

library(dplyr) 
d %>% group_by(a,b) %>% slice(1) %>% select(-x,-y) 
# # A tibble: 40 x 2 
# # Groups: a, b [40] 
# a  b 
# <int> <chr> 
# 1  1  a 
# 2  1  b 
# 3  1  c 
# 4  1  d 
# 5  2  a 
# 6  2  b 
# 7  2  c 
# 8  2  d 
# 9  3  a 
# 10  3  b 

ご提案がありますか?

+0

ライブラリ(dplyr)についてはどうですか?異なる(d [、c(1,2)])? –

答えて

3

おそらくdplyr::distinct()をお探しですか?

d %>% distinct(a, b) 
+0

素晴らしい、ありがとう!私はこのための動詞がなければならないことを知っていた – baptiste

関連する問題