2016-08-03 14 views
-2

csvファイル(ファイルa)に名前のリストがありますが、その名前は名前のみです。他のcsvファイル(ファイルb)も最初の列にいくつかの名前があり、合計で10列あります。私はファイルbの最初の列を分析し、ファイルaの名前を検索し、それらが一致したとき(ファイルbの最初の列のファイルaとj番目の要素)、すべてを選択したいそれを空のデータフレームに入れます。私はさらにこのデータフレームをcsvファイルとして使用します。どうやってやるの?前もって感謝します。行をマイニングしてRの空のデータフレームに追加する

+2

データフレームAおよびB、および所望の出力と第三データフレームの最小限の例を提供してください。 – user2673238

+0

[Rの再現性の高いサンプルを作成するには?](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)を参照してください。最小の例。 –

答えて

0

理想的には、再生するための再現可能な例を共有する必要があります。しかし、私は内蔵のmtcarsデータセットを使用してそれを行います。あなたの質問に対する私の理解に基づいてこれを行ってください。

データ準備

#Taking any random 6 sample rownames from mtcars dataset. Just to generalize making 
#it as 3 X 2 dataframe 

fileA <- data.frame(matrix(sample(row.names(mtcars), 6), nrow = 3)) 
fileA 
#  X1     X2 
#1 AMC Javelin  Ferrari Dino 
#2 Porsche 914-2 Chrysler Imperial 
#3 Merc 450SE Cadillac Fleetwood 

#Making first column as rownames of mtcars and then removing the rownames 
fileB <- cbind(Column1 = rownames(mtcars), mtcars) 
rownames(fileB) <- NULL 


# Column1   mpg cyl disp hp drat wt qsec vs am gear carb 
#27 Porsche 914-2  26.0 4 120.3 91 4.43 2.140 16.7 0 1 5 2 
#28 Lotus Europa  30.4 4 95.1 113 3.77 1.513 16.9 1 1 5 2 
#29 Ford Pantera L  15.8 8 351.0 264 4.22 3.170 14.5 0 1 5 4 
#30 Ferrari Dino  19.7 6 145.0 175 3.62 2.770 15.5 0 1 5 6 
#31 Maserati Bora  15.0 8 301.0 335 3.54 3.570 14.6 0 1 5 8 
#32 Volvo 142E   21.4 4 121.0 109 4.11 2.780 18.6 1 1 4 2 

、最終的には、今あなたが使用することができ、

fileB[fileB$Column1 %in% unlist(fileA), ] 

#   Column1 mpg cyl disp hp drat wt qsec vs am gear carb 
#12   Merc 450SE 16.4 8 275.8 180 3.07 4.070 17.40 0 0 3 3  
#15 Cadillac Fleetwood 10.4 8 472.0 205 2.93 5.250 17.98 0 0 3 4 
#17 Chrysler Imperial 14.7 8 440.0 230 3.23 5.345 17.42 0 0 3 4 
#23  AMC Javelin 15.2 8 304.0 150 3.15 3.435 17.30 0 0 3 2 
#27  Porsche 914-2 26.0 4 120.3 91 4.43 2.140 16.70 0 1 5 2 
#30  Ferrari Dino 19.7 6 145.0 175 3.62 2.770 15.50 0 1 5 6 
関連する問題