2017-07-12 2 views
1

Ich möchte eine Liste von Datenrahmen mit dem gleichen Namensmuster erstellen.R Datenfelder mit gleichem Namen Muster

Datenrahmen: dF1, dF2, dF3, ... (weiß nicht, wie viele ich bekommen würde)

Wie kann ich eine Liste von Datenrahmen erstellen, die mit dF starten? Vor allem, ohne die Gesamtzahl der Datenframes zu finden, die mit dF beginnen.

+0

Sind Sie nur leere Datenrahmen zu erstellen versuchen, oder Sie versuchen, in einem Ordner von Dateien in einzelne Datenrahmen zu lesen? – Mako212

+0

Alle Datenframes sind in der Datentabelle in R geladen und enthalten Daten. Ich möchte eine Liste dieser Datenrahmen erstellen, in denen Daten enthalten sind. – coldbeats

Antwort

1

Unter der Annahme, dass alle Ihre data.frames in Ihrer globalen Umgebung sind, können Sie verwenden mget:

#example data sets 
#we only want to have dF1 and dF2 in the list 
dF1 <- mtcars 
dF2 <- mtcars 
pd3 <- mtcars 

#ls(globalenv()) will return a character vector of all the objects 
#filtered by a pattern 
mget(ls(globalenv(), pattern = '^dF')) 

Ausgang:

mget(ls(globalenv(), pattern = '^dF')) 
$dF1 
        mpg cyl disp hp drat wt qsec vs am gear carb 
Mazda RX4   21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4 
Mazda RX4 Wag  21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 4 
Datsun 710   22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1 
Hornet 4 Drive  21.4 6 258.0 110 3.08 3.215 19.44 1 0 3 1 
Hornet Sportabout 18.7 8 360.0 175 3.15 3.440 17.02 0 0 3 2 
Valiant    18.1 6 225.0 105 2.76 3.460 20.22 1 0 3 1 
Duster 360   14.3 8 360.0 245 3.21 3.570 15.84 0 0 3 4 
Merc 240D   24.4 4 146.7 62 3.69 3.190 20.00 1 0 4 2 
Merc 230   22.8 4 140.8 95 3.92 3.150 22.90 1 0 4 2 
Merc 280   19.2 6 167.6 123 3.92 3.440 18.30 1 0 4 4 
Merc 280C   17.8 6 167.6 123 3.92 3.440 18.90 1 0 4 4 
Merc 450SE   16.4 8 275.8 180 3.07 4.070 17.40 0 0 3 3 
Merc 450SL   17.3 8 275.8 180 3.07 3.730 17.60 0 0 3 3 
Merc 450SLC   15.2 8 275.8 180 3.07 3.780 18.00 0 0 3 3 
Cadillac Fleetwood 10.4 8 472.0 205 2.93 5.250 17.98 0 0 3 4 
Lincoln Continental 10.4 8 460.0 215 3.00 5.424 17.82 0 0 3 4 
Chrysler Imperial 14.7 8 440.0 230 3.23 5.345 17.42 0 0 3 4 
Fiat 128   32.4 4 78.7 66 4.08 2.200 19.47 1 1 4 1 
Honda Civic   30.4 4 75.7 52 4.93 1.615 18.52 1 1 4 2 
Toyota Corolla  33.9 4 71.1 65 4.22 1.835 19.90 1 1 4 1 
Toyota Corona  21.5 4 120.1 97 3.70 2.465 20.01 1 0 3 1 
Dodge Challenger 15.5 8 318.0 150 2.76 3.520 16.87 0 0 3 2 
AMC Javelin   15.2 8 304.0 150 3.15 3.435 17.30 0 0 3 2 
Camaro Z28   13.3 8 350.0 245 3.73 3.840 15.41 0 0 3 4 
Pontiac Firebird 19.2 8 400.0 175 3.08 3.845 17.05 0 0 3 2 
Fiat X1-9   27.3 4 79.0 66 4.08 1.935 18.90 1 1 4 1 
Porsche 914-2  26.0 4 120.3 91 4.43 2.140 16.70 0 1 5 2 
Lotus Europa  30.4 4 95.1 113 3.77 1.513 16.90 1 1 5 2 
Ford Pantera L  15.8 8 351.0 264 4.22 3.170 14.50 0 1 5 4 
Ferrari Dino  19.7 6 145.0 175 3.62 2.770 15.50 0 1 5 6 
Maserati Bora  15.0 8 301.0 335 3.54 3.570 14.60 0 1 5 8 
Volvo 142E   21.4 4 121.0 109 4.11 2.780 18.60 1 1 4 2 

$dF2 
        mpg cyl disp hp drat wt qsec vs am gear carb 
Mazda RX4   21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4 
Mazda RX4 Wag  21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 4 
Datsun 710   22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1 
Hornet 4 Drive  21.4 6 258.0 110 3.08 3.215 19.44 1 0 3 1 
Hornet Sportabout 18.7 8 360.0 175 3.15 3.440 17.02 0 0 3 2 
Valiant    18.1 6 225.0 105 2.76 3.460 20.22 1 0 3 1 
Duster 360   14.3 8 360.0 245 3.21 3.570 15.84 0 0 3 4 
Merc 240D   24.4 4 146.7 62 3.69 3.190 20.00 1 0 4 2 
Merc 230   22.8 4 140.8 95 3.92 3.150 22.90 1 0 4 2 
Merc 280   19.2 6 167.6 123 3.92 3.440 18.30 1 0 4 4 
Merc 280C   17.8 6 167.6 123 3.92 3.440 18.90 1 0 4 4 
Merc 450SE   16.4 8 275.8 180 3.07 4.070 17.40 0 0 3 3 
Merc 450SL   17.3 8 275.8 180 3.07 3.730 17.60 0 0 3 3 
Merc 450SLC   15.2 8 275.8 180 3.07 3.780 18.00 0 0 3 3 
Cadillac Fleetwood 10.4 8 472.0 205 2.93 5.250 17.98 0 0 3 4 
Lincoln Continental 10.4 8 460.0 215 3.00 5.424 17.82 0 0 3 4 
Chrysler Imperial 14.7 8 440.0 230 3.23 5.345 17.42 0 0 3 4 
Fiat 128   32.4 4 78.7 66 4.08 2.200 19.47 1 1 4 1 
Honda Civic   30.4 4 75.7 52 4.93 1.615 18.52 1 1 4 2 
Toyota Corolla  33.9 4 71.1 65 4.22 1.835 19.90 1 1 4 1 
Toyota Corona  21.5 4 120.1 97 3.70 2.465 20.01 1 0 3 1 
Dodge Challenger 15.5 8 318.0 150 2.76 3.520 16.87 0 0 3 2 
AMC Javelin   15.2 8 304.0 150 3.15 3.435 17.30 0 0 3 2 
Camaro Z28   13.3 8 350.0 245 3.73 3.840 15.41 0 0 3 4 
Pontiac Firebird 19.2 8 400.0 175 3.08 3.845 17.05 0 0 3 2 
Fiat X1-9   27.3 4 79.0 66 4.08 1.935 18.90 1 1 4 1 
Porsche 914-2  26.0 4 120.3 91 4.43 2.140 16.70 0 1 5 2 
Lotus Europa  30.4 4 95.1 113 3.77 1.513 16.90 1 1 5 2 
Ford Pantera L  15.8 8 351.0 264 4.22 3.170 14.50 0 1 5 4 
Ferrari Dino  19.7 6 145.0 175 3.62 2.770 15.50 0 1 5 6 
Maserati Bora  15.0 8 301.0 335 3.54 3.570 14.60 0 1 5 8 
Volvo 142E   21.4 4 121.0 109 4.11 2.780 18.60 1 1 4 2 
+0

So viele Funktionen zum Erinnern: P. Vielen Dank @Parfait. Hatte es vergessen. Und es behält die data.frame Namen auch! – LyzandeR

+0

Sie können auch das Argument 'pattern' verwenden, um eine Untermenge mit' grep' zu vermeiden. Siehe meine Antwort zu [diesem Beitrag] (https://stackoverflow.com/questions/17499013/how-do-i-make-a-list-of-data-frames) für ein Beispiel. – lmo

+1

Noch besser mit 'Muster'. Danke @lmo – LyzandeR

Verwandte Themen