Hilfe!! Zeilen löschen in R Studio

Allgemeine Statistik mit R, die Test-Methode ist noch nicht bekannt, ich habe noch keinen Plan!

Moderatoren: EDi, jogo

VickyH92

Hilfe!! Zeilen löschen in R Studio

Beitrag von VickyH92 »

Hallo zusammen,

ich hoffe, hier kann mir jemand helfen. Ich muss derzeit eine Hausarbeit in Statistik schreiben und dabei einen Datensatz in R Studio auswerten. Nun habe ich mir leider nicht gerade den besten Datensatz ausgesucht, der noch dazu unglaublich lang ist (knapp 20.000 Zeilen...). Jetzt ist mir aufgefallen, dass ich unbedingt mehrere Zeilen auslöschen muss, da sonst die Rechnung verfälscht wird. Es handelt sich dabei um Werte, die eine Gesamtsumme angeben und diese sind in der selben Spalte, wie die einzelnen Werte der Variable.

Wie lösche ich nun die Zeilen aus dem Datensatz? Im besten Fall brauche ich einen Befehl, in dem man "von.. bis" eingeben kann, damit ich nicht mehrere hundert Zeilennummern einzeln eintippen muss...

Vielen Dank schon mal für eure Hilfe und liebe Grüße,
Vicky
VickyH92

Re: Hilfe!! Zeilen löschen in R Studio

Beitrag von VickyH92 »

Keiner? :-(
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: Hilfe!! Zeilen löschen in R Studio

Beitrag von jogo »

Hallo Vicky,
VickyH92 hat geschrieben: So Aug 05, 2018 10:47 amKeiner? :-(
Willkommen im Forum!
Hier eine kleine Zeitdurchsage: Es ist Wochenende!
Das bedeutet, wenn Du jemanden verpflichten willst, sofort auf Deine Frage zu antworten, dann musst Du Dir eine entsprechende bezahlte Dienstleistung eines professionellen Dienstleisters vertraglich erkaufen. Die Mitglieder hier im Forum geben ihren Rat freiwillig und kostenlos, völlig uneigennützig.
Bitte lies als erstes: viewtopic.php?f=20&t=46 und viewtopic.php?f=20&t=35#p141
und dann viewtopic.php?f=20&t=11 ... liefere uns Daten :!:
Beschreib uns bitte genau, was Du bisher gemacht hast (Einlesen der Daten und Deine sonstigen Versuche: Code).

Gruß, Jörg
VickyH92

Re: Hilfe!! Zeilen löschen in R Studio

Beitrag von VickyH92 »

Moin Jörg,

vielen Dank für deine Antwort. Sorry, ich kenne es aus anderen Foren so, dass vor allem am Wochenende mehr los ist, daher meine Nachfrage... :-) Und sorry für die fehlenden Daten. Ich dachte, es gibt einen allgemein Code für solche Fälle (ich komme mir R leider wirklich nicht gut klar).

Hier findet man den Datensatz, den ich nutze :
https://www.kaggle.com/new-york-state/n ... rimes/home

und das hier zum Datensatz:

Code: Alles auswählen

> str(index.crimes.by.county.and.agency.beginning.1990)
'data.frame':	19325 obs. of  12 variables:
 $ County             : Factor w/ 63 levels "Albany","Allegany",..: 1 1 1 1 1 1 1 1 1 1 ...
 $ Year               : int  1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 ...
 $ Index.Total        : int  6635 7569 7791 7802 8648 8329 8130 7354 7320 7475 ...
 $ Violent.Total      : int  1052 1201 1150 1238 1380 1227 1132 1035 995 897 ...
 $ Murder             : int  9 11 8 6 13 7 11 7 2 12 ...
 $ Rape               : int  82 71 77 59 79 61 46 66 74 46 ...
 $ Robbery            : int  386 487 467 481 542 548 491 429 387 376 ...
 $ Aggravated.Assault : int  575 632 598 692 746 611 584 533 532 463 ...
 $ Property.Total     : int  5583 6368 6641 6564 7268 7102 6998 6319 6325 6578 ...
 $ Burglary           : int  1884 1988 2246 2063 2227 2038 2087 1762 1799 1826 ...
 $ Larceny            : int  3264 3878 3858 4030 4502 4460 4355 4132 4084 4324 ...
 $ Motor.Vehicle.Theft: int  435 502 537 471 539 604 556 425 442 428 ...


Bisher habe ich den Datensatz in R eingelesen und ein paar Spalten/Variablen entfernt, da ich diese nicht betrachten werde. Nun fiel mir eben auf, dass es diverse Zeilen gibt, die z.B. "Region Total" oder "County Total" heißen und dort sehr hohe Werte enthalten, da sie bestimmte Werte zusammenfassen. Das verfälscht aber logischerweise die Auswertung total. Ich habe mit dem Code

Code: Alles auswählen

> drops <- c(282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309)
> index.crimes.by.county.and.agency.beginning.1990 <- index.crimes.by.county.and.agency.beginning.1990[-drops]
bereits einzelne Zeilen löschen können, aber da es wirklich viele sind, die ich löschen muss, hoffe ich, dass es einen Code gibt, in dem man angeben kann, von wo bis wo die Zeilen gelöscht werden sollen.

Wenn ihr mehr Daten benötigt, gebt bitte Bescheid.

Vielen Dank schon einmal und euch allen einen Schönen Sonntag. ;-)
Zuletzt geändert von jogo am So Aug 05, 2018 2:25 pm, insgesamt 1-mal geändert.
Grund: Formatierung
Athomas
Beiträge: 768
Registriert: Mo Feb 26, 2018 8:19 pm

Re: Hilfe!! Zeilen löschen in R Studio

Beitrag von Athomas »

Es kann nicht nicht schaden, wenn Du vor Anfertigung der Hausarbeit ein bisschen lesen würdest!
Vielleicht motiviert Dich das dazu:

Code: Alles auswählen

library(data.table)

Crime <- fread("D:/R/Kaggle/index-crimes-by-county-and-agency-beginning-1990.csv")
Crime.without.totals <- Crime[!grepl("Total", Agency)]
VickyH92

Re: Hilfe!! Zeilen löschen in R Studio

Beitrag von VickyH92 »

Wir haben wenig mit R in der Uni gearbeitet und ich habe ehrlich gesagt sehr viel gelesen und gegoogelt, habe aber trotzdem Problem mit den Codes. Daher bitte ich um Entschuldigung, aber euch kommen viele Themen vielleicht selbstverständlich vor, die ich nicht gut nachvollziehen kann. :-) Wenn ich alles wüsste, müsste ich nicht um Hilfe fragen. ;-)

Wie findet R denn in deinem Code den Bezug zu den Zeilen, in denen "Total" steht?
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: Hilfe!! Zeilen löschen in R Studio

Beitrag von jogo »

Hallo Vicky,
VickyH92 hat geschrieben: So Aug 05, 2018 1:40 pm vielen Dank für deine Antwort. Sorry, ich kenne es aus anderen Foren so, dass vor allem am Wochenende mehr los ist, daher meine Nachfrage... :-) Und sorry für die fehlenden Daten. Ich dachte, es gibt einen allgemein Code für solche Fälle (ich komme mir R leider wirklich nicht gut klar).
der Teufel steck immer im Detail - also in den Daten.
Hier findet man den Datensatz, den ich nutze :
https://www.kaggle.com/new-york-state/n ... rimes/home

und das hier zum Datensatz:

Code: Alles auswählen

> str(index.crimes.by.county.and.agency.beginning.1990)
'data.frame':	19325 obs. of  12 variables:
 $ County             : Factor w/ 63 levels "Albany","Allegany",..: 1 1 1 1 1 1 1 1 1 1 ...
 $ Year               : int  1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 ...
...
 $ Motor.Vehicle.Theft: int  435 502 537 471 539 604 556 425 442 428 ...
Bisher habe ich den Datensatz in R eingelesen und ein paar Spalten/Variablen entfernt, da ich diese nicht betrachten werde.
Das Einlesen hat anscheinend gut funktioniert.
Nun fiel mir eben auf, dass es diverse Zeilen gibt, die z.B. "Region Total" oder "County Total" heißen
Meinst Du jetzt wirklich die Namen der Zeilen,

Code: Alles auswählen

rownames(index.crimes.by.county.and.agency.beginning.1990)
oder sind "Region Total" und "County Total" Werte in der Spalte $County :?:

Code: Alles auswählen

table(index.crimes.by.county.and.agency.beginning.1990$County)

Code: Alles auswählen

> drops <- c(282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309)
> index.crimes.by.county.and.agency.beginning.1990 <- index.crimes.by.county.and.agency.beginning.1990[-drops]
bereits einzelne Zeilen löschen können, aber da es wirklich viele sind, die ich löschen muss, hoffe ich, dass es einen Code gibt, in dem man angeben kann, von wo bis wo die Zeilen gelöscht werden sollen.
Ja, das kann man mit der Funktion subset() bequem machen, z.B.

Code: Alles auswählen

subset(index.crimes.by.county.and.agency.beginning.1990, !(County %in% c("Region Total", "County Total")))
(falls es um die Werte in der Spalte $County geht)

Gruß, Jörg
p.s.:
Bitte lies auch noch viewtopic.php?f=20&t=29 wegen der Formatierung.
Ich habe Deine Nachricht entsprechend Bearbeitet, so dass Du sehen kannst, wie es aussehen soll.
VickyH92

Re: Hilfe!! Zeilen löschen in R Studio

Beitrag von VickyH92 »

jogo hat geschrieben: So Aug 05, 2018 2:43 pm Hallo Vicky,
VickyH92 hat geschrieben: So Aug 05, 2018 1:40 pm vielen Dank für deine Antwort. Sorry, ich kenne es aus anderen Foren so, dass vor allem am Wochenende mehr los ist, daher meine Nachfrage... :-) Und sorry für die fehlenden Daten. Ich dachte, es gibt einen allgemein Code für solche Fälle (ich komme mir R leider wirklich nicht gut klar).
der Teufel steck immer im Detail - also in den Daten.
Hier findet man den Datensatz, den ich nutze :
https://www.kaggle.com/new-york-state/n ... rimes/home

und das hier zum Datensatz:

Code: Alles auswählen

> str(index.crimes.by.county.and.agency.beginning.1990)
'data.frame':	19325 obs. of  12 variables:
 $ County             : Factor w/ 63 levels "Albany","Allegany",..: 1 1 1 1 1 1 1 1 1 1 ...
 $ Year               : int  1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 ...
...
 $ Motor.Vehicle.Theft: int  435 502 537 471 539 604 556 425 442 428 ...
Bisher habe ich den Datensatz in R eingelesen und ein paar Spalten/Variablen entfernt, da ich diese nicht betrachten werde.
Das Einlesen hat anscheinend gut funktioniert.
Nun fiel mir eben auf, dass es diverse Zeilen gibt, die z.B. "Region Total" oder "County Total" heißen
Meinst Du jetzt wirklich die Namen der Zeilen,

Code: Alles auswählen

rownames(index.crimes.by.county.and.agency.beginning.1990)
oder sind "Region Total" und "County Total" Werte in der Spalte $County :?:

Code: Alles auswählen

table(index.crimes.by.county.and.agency.beginning.1990$County)

Code: Alles auswählen

> drops <- c(282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309)
> index.crimes.by.county.and.agency.beginning.1990 <- index.crimes.by.county.and.agency.beginning.1990[-drops]
bereits einzelne Zeilen löschen können, aber da es wirklich viele sind, die ich löschen muss, hoffe ich, dass es einen Code gibt, in dem man angeben kann, von wo bis wo die Zeilen gelöscht werden sollen.
Ja, das kann man mit der Funktion subset() bequem machen, z.B.

Code: Alles auswählen

subset(index.crimes.by.county.and.agency.beginning.1990, !(County %in% c("Region Total", "County Total")))
(falls es um die Werte in der Spalte $County geht)

Gruß, Jörg
Hi Jörg,

vielen Dank für deine Antwort!
Genau, es geht um die Werte, die in der Spalte "County" zu finden sind. Somit wollte ich hier einfach die komplette Zeile löschen, da die Werte, die bspw. "County Total" beschreibt, dann ja numerisch in den anderen Spalten auftauchen (z.B. bei Murder steht dann eine fünfstellige Zahl und bei den "normalen" Werten, die die Mordfälle innerhalb eines Jahres beschreiben, sind es dann nur vierstellige Werte). Ich hoffe du verstehst, was ich meine. Somit bezieht das Programm auch diese Gesamtwerte in die Berechnungen mit ein und verfälscht das Ergebnis.

Ist es denn so, dass mit deinem Code die Zeile gelöscht wird? Oder löscht er dann nur die Beobachtung "County Total" etc. aus der Spalte, sodass sie dort leer erscheint?

Sorry für meine "doofen" Fragen, aber Statistik ist leider wirklich gar nicht mein Fach und ich kämpfe mich gerade mit aller Kraft durch die Hausarbeit...

LG Vicky
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: Hilfe!! Zeilen löschen in R Studio

Beitrag von jogo »

Hallo Vicky,
VickyH92 hat geschrieben: So Aug 05, 2018 2:47 pm Genau, es geht um die Werte, die in der Spalte "County" zu finden sind. Somit wollte ich hier einfach die komplette Zeile löschen, da die Werte, die bspw. "County Total" beschreibt, dann ja numerisch in den anderen Spalten auftauchen (z.B. bei Murder steht dann eine fünfstellige Zahl und bei den "normalen" Werten, die die Mordfälle innerhalb eines Jahres beschreiben, sind es dann nur vierstellige Werte). Ich hoffe du verstehst, was ich meine. Somit bezieht das Programm auch diese Gesamtwerte in die Berechnungen mit ein und verfälscht das Ergebnis.

Ist es denn so, dass mit deinem Code die Zeile gelöscht wird? Oder löscht er dann nur die Beobachtung "County Total" etc. aus der Spalte, sodass sie dort leer erscheint?
laut Dokumentation packt subset() alle Zeilen des Dataframes in das Ergebnis, für die der logische Ausdruck im Argument subset= den Wert TRUE liefert. Die anderen Zeilen (=Beobachtungen) nicht übernommen.

Code: Alles auswählen

?subset
example(subset)
Hier findet man den Datensatz, den ich nutze :
https://www.kaggle.com/new-york-state/n ... rimes/home
Auf der angegebenen Seite muss man sich registrieren, wenn man den Datensatz runterladen will, richtig?

Gruß, Jörg
VickyH92

Re: Hilfe!! Zeilen löschen in R Studio

Beitrag von VickyH92 »

Hallo Jörg,

das was du in deinem letzten Beitrag beschreibst, klingt für mich aber eher so, als würde der Befehl genau das anzeigen, was ich im Code angebe (also das, was ich raus haben möchte).

Ich habe es aber mal probiert und dies ist der Output (siehe unten). Die Zeilen werden aber leider immer noch im Datensatz angezeigt. Muss ich jetzt noch einen weiteren Befehl eingeben, damit der die Zeilen ausblendet? Ich verstehe auch nicht ganz, wieso R mir gerade diese Daten unten ausspuckt, da die ja mit den eingegeben "Region Total" und "County Total" nichts zu tun haben, oder?

Code: Alles auswählen

> subset(index.crimes.by.county.and.agency.beginning.1990, !(County %in% c("Region Total", "County Total")))
           County Year Index.Total Violent.Total Murder Rape Robbery Aggravated.Assault
1          Albany 1990        6635          1052      9   82     386                575
2          Albany 1991        7569          1201     11   71     487                632
3          Albany 1992        7791          1150      8   77     467                598
4          Albany 1993        7802          1238      6   59     481                692
5          Albany 1994        8648          1380     13   79     542                746
6          Albany 1995        8329          1227      7   61     548                611
7          Albany 1996        8130          1132     11   46     491                584
8          Albany 1997        7354          1035      7   66     429                533
9          Albany 1998        7320           995      2   74     387                532
10         Albany 1999        7475           897     12   46     376                463
11         Albany 2000        7088          1110     11   66     396                637
12         Albany 2001        7303          1319      6   58     434                821
13         Albany 2002        6774          1403      8   64     481                850
14         Albany 2003        6150          1160      9   33     383                735
15         Albany 2004        6717          1131     10   53     394                674
16         Albany 2005        6158          1275      8   68     439                760
17         Albany 2006        6059          1228      5   51     389                783
18         Albany 2007        5378          1132      3   45     376                708
19         Albany 2008        5490          1061     10   48     372                631
20         Albany 2009        5252          1002      9   43     327                623
21         Albany 2010        5616           978      3   41     314                620
22         Albany 2011        5540           934      4   30     320                580
23         Albany 2012        5126           799      5   41     245                508
24         Albany 2013        4881           796      8   32     228                528
25         Albany 2014        4660           775      8   27     240                500
26         Albany 2015        4273           823      5   49     240                529
27         Albany 2016        4320           849      2   58     248                541
28         Albany 2017        4275           876      8   54     247                567
29         Albany 2001          10             0      0    0       0                  0
30         Albany 2002           3             0      0    0       0                  0
31         Albany 2003           6             0      0    0       0                  0
32         Albany 2004          12             0      0    0       0                  0
33         Albany 2005          10             0      0    0       0                  0
34         Albany 2006           6             0      0    0       0                  0
35         Albany 2007          10             0      0    0       0                  0
36         Albany 2008           5             0      0    0       0                  0
37         Albany 1990           6             0      0    0       0                  0
38         Albany 1991           3             0      0    0       0                  0
39         Albany 1992           6             0      0    0       0                  0
40         Albany 1993          13             0      0    0       0                  0
41         Albany 1994          13             0      0    0       0                  0
42         Albany 1995          12             0      0    0       0                  0
43         Albany 1996           3             0      0    0       0                  0
44         Albany 1997           6             0      0    0       0                  0
45         Albany 1990         108             0      0    0       0                  0
46         Albany 1991          48             0      0    0       0                  0
47         Albany 1992         200             0      0    0       0                  0
48         Albany 1993          12             0      0    0       0                  0
49         Albany 1994          91             0      0    0       0                  0
50         Albany 1995          80             0      0    0       0                  0
51         Albany 1996          92             0      0    0       0                  0
52         Albany 1997         128             0      0    0       0                  0
53         Albany 1998          66             0      0    0       0                  0
54         Albany 1990          13             1      0    1       0                  0
55         Albany 1991           2             0      0    0       0                  0
56         Albany 1992           4             0      0    0       0                  0
57         Albany 1993           1             0      0    0       0                  0
58         Albany 1994           2             0      0    0       0                  0
59         Albany 1995           5             0      0    0       0                  0
60         Albany 1996           6             0      0    0       0                  0
61         Albany 1997           3             0      0    0       0                  0
62         Albany 1998          13             0      0    0       0                  0
63         Albany 1999          16             0      0    0       0                  0
64         Albany 2000           4             0      0    0       0                  0
65         Albany 2001           2             0      0    0       0                  0
66         Albany 2002           6             0      0    0       0                  0
67         Albany 2003           5             0      0    0       0                  0
68         Albany 2004           9             1      1    0       0                  0
69         Albany 2005           4             0      0    0       0                  0
70         Albany 2006           6             1      0    0       0                  1
71         Albany 2007           3             0      0    0       0                  0
72         Albany 2008           3             0      0    0       0                  0
73         Albany 2009           4             0      0    0       0                  0
74         Albany 2010           4             0      0    0       0                  0
75         Albany 2011           2             0      0    0       0                  0
76         Albany 2012           2             0      0    0       0                  0
77         Albany 2013           2             0      0    0       0                  0
78         Albany 2015           6             0      0    0       0                  0
79         Albany 2016           2             0      0    0       0                  0
80         Albany 2017           3             0      0    0       0                  0
81         Albany 2003          NA            NA     NA   NA      NA                 NA
82         Albany 2004          NA            NA     NA   NA      NA                 NA
83         Albany 2005          NA            NA     NA   NA      NA                 NA
      Property.Total Burglary Larceny Motor.Vehicle.Theft
1               5583     1884    3264                 435
2               6368     1988    3878                 502
3               6641     2246    3858                 537
4               6564     2063    4030                 471
5               7268     2227    4502                 539
6               7102     2038    4460                 604
7               6998     2087    4355                 556
8               6319     1762    4132                 425
9               6325     1799    4084                 442
10              6578     1826    4324                 428
11              5978     1513    4012                 453
12              5984     1567    3875                 542
13              5371     1397    3401                 573
14              4990     1302    3274                 414
15              5586     1294    3825                 467
16              4883     1328    3186                 369
17              4831     1062    3528                 241
18              4246      963    2997                 286
19              4429     1034    3170                 225
20              4250      877    3140                 233
21              4638      923    3489                 226
22              4606      890    3547                 169
23              4327      888    3288                 151
24              4085      702    3243                 140
25              3885      680    3083                 122
26              3450      480    2851                 119
27              3471      491    2869                 111
28              3399      433    2857                 109
29                10        0      10                   0
30                 3        0       3                   0
31                 6        0       6                   0
32                12        0      12                   0
33                10        0      10                   0
34                 6        0       6                   0
35                10        1       9                   0
36                 5        0       5                   0
37                 6        0       6                   0
38                 3        0       3                   0
39                 6        1       5                   0
40                13        2      11                   0
41                13        8       5                   0
42                12        1      11                   0
43                 3        0       3                   0
44                 6        1       5                   0
45               108        6     102                   0
46                48        6      42                   0
47               200        0     200                   0
48                12        0      12                   0
49                91       29      62                   0
50                80       30      50                   0
51                92       53      39                   0
52               128       45      83                   0
53                66        4      62                   0
54                12        0      12                   0
55                 2        0       2                   0
56                 4        1       3                   0
57                 1        0       1                   0
58                 2        0       2                   0
59                 5        0       5                   0
60                 6        0       6                   0
61                 3        0       3                   0
62                13        0      13                   0
63                16        1      15                   0
64                 4        0       4                   0
65                 2        1       1                   0
66                 6        1       5                   0
67                 5        0       5                   0
68                 8        2       6                   0
69                 4        0       4                   0
70                 5        0       5                   0
71                 3        0       3                   0
72                 3        1       2                   0
73                 4        0       4                   0
74                 4        0       4                   0
75                 2        2       0                   0
76                 2        0       2                   0
77                 2        0       2                   0
78                 6        0       6                   0
79                 2        0       2                   0
80                 3        0       3                   0
81                NA       NA      NA                  NA
82                NA       NA      NA                  NA
83                NA       NA      NA                  NA
 [ erreichte getOption("max.print") --  19197 Zeilen ausgelassen ]

Und ja du hast Recht, man muss scheinbar registriert sein, damit man die Datensätze aufrufen kann. Ist das schlimm? Ich kann die Datei sonst auch hier anhängen, falls das weiter hilft.

LG
Vicky
Antworten