0

gg と yy という次のデータがあります。

> str(gg)
 num [1:1992] 128 130 132 185 186 187 188 189 190 191 ...
> str(yy)
'data.frame':   2103 obs. of  2 variables:
 $ grp  : num  128 130 132 185 186 187 188 189 190 191 ...
 $ predd: num  -0.963 -1.518 1.712 -11.286 -8.195 ...
> 

gg の最初のいくつかの値が yy の最初のいくつかの値と一致することがわかります。

値 yy$grp が gg の値と一致する場合、yy から行を選択したいと思います。問題は、gg と yy の長さが等しくないことです。さらに、yy$grp に存在しない gg の値と、gg に存在しない yy$grp の値がいくつかあります。

私はこれを機能させることができないようです。これは基本的に、前述のインデックス値 (gg または yy$grp) に基づく 2 つのデータ セットの共通部分です。

私はもう試した:

inters<-intersect(gg,yy$grp)
yyint<-yy[yy$grp==inters,]

しかし、次のようになります

Warning message:
In yy$grp == inters :
  longer object length is not a multiple of shorter object length

> str(yya)
'data.frame':   28 obs. of  2 variables:
 $ grp  : num  128 130 132 185 186 187 188 189 190 191 ...
 $ predd: num  -0.963 -1.518 1.712 -11.286 -8.195 ...

少なくとも私の計画によれば、yya はもっと長くなるはずです。

ありがとう。

4

1 に答える 1

1

私が述べたように、これはあなたが望むものだと思います:

yy[yy$grp %in% gg,]
于 2013-09-15T02:09:04.257 に答える