Hallo Zusammen
Ich habe meinen Datensatz "goq<-read.dta("qog_bas_ts_jan18.dta")" geladen und dann ein subsample "Afrika" erstellt:
> Afrika<-filter(goq,cname %in% c("Algeria","Angola","Benin","Botswana","Burkina Faso","Burundi","Cape Verde","Cameroon","Central African Republic","Chad","Comoros","Congo,Republic of","Congo, Democratic Republic","Cote d'Ivoire","Djibouti","Egypt","Equatorial Guinea","Eritrea","Ethiopia (-1992)","Ethiopia (1993-)","Gabon","Gambia","Ghana","Guinea","Guinea-Bissau","Kenya","Lesotho","Liberia","Libya","Madagascar","Malawi","Mali","Mauritania","Mauritius","Morocco","Mozambique","Namibia","Niger","Nigeria","Rwanda","Sao Tome and Principe","Senegal","Seychelles","Sierra Leone","Somalia","South Africa","South Sudan","Sudan (-2011)","Sudan (2012-)","Swaziland","Tanzania","Togo","Tunisia","Uganda","Zambia","Zimbabwe"))
Der sieht so aus:
> head(Afrika)
ccode cname year ccodealp cname_year ccodealp_year ccodecow ccodewb version
1 12 Algeria 1946 DZA Algeria 1946 DZA46 615 12 QoGBasTSJan18
2 12 Algeria 1947 DZA Algeria 1947 DZA47 615 12 QoGBasTSJan18
3 12 Algeria 1948 DZA Algeria 1948 DZA48 615 12 QoGBasTSJan18
4 12 Algeria 1949 DZA Algeria 1949 DZA49 615 12 QoGBasTSJan18
5 12 Algeria 1950 DZA Algeria 1950 DZA50 615 12 QoGBasTSJan18
6 12 Algeria 1951 DZA Algeria 1951 DZA51 615 12 QoGBasTSJan18
hat noch weitere Variablen.
Nün würde ich gerne aus der Spalte "year" nur die Jahre 1990-2017 haben.
Ich habe es bereits mit diversen Befehlen versucht, unter anderem mit folgendem:
Zeit<-Afrika[Afrika$year==c("1990","1991","1992","1993","1994","1995","1996","1997","1998","1999","2000","2001","2002","2003","2004","2005","2006","2007","2008","2009","2010","2011","2012","2013","2014","2015","2016","2017")]
Aber da bekomme ich immer folgende Fehlermeldung:
Warnmeldung:
In Afrika$year == c("1990", "1991", "1992", "1993", "1994", "1995", :
Länge des längeren Objektes
ist kein Vielfaches der Länge des kürzeren Objektes
Kann mir da jemand helfen?
Werte aus Spalte herausfiltern
Re: Werte aus Spalte herausfiltern
Aber Du willst ja eigentlich was anderes - lustigerweise hast Du es ja oben in "Deiner" filter-Anweisung mit den Ländern richtig gemacht...Vectors occurring in the same expression need not all be of the same length. If they are not, the value of the expression is a vector with the same length as the longest vector which occurs in the expression. Shorter vectors in the expression are recycled as often as need be (perhaps fractionally) until they match the length of the longest vector. In particular a constant is simply repeated.
Warum behandelst Du die Jahreszahlen als Text?
Re: Werte aus Spalte herausfiltern
Hallo BA_UZH,
willkommen im Forum!
1. Du hast den Code und den Output nicht formatiert, lies viewtopic.php?f=20&t=29
2. Du hast uns verschwiegen, dass Du weitere Pakete einsetzt, denn die von Dir verwendete Funktion filter() ist nicht die aus dem standardmäßig geladenen Paket stats
3. Auch sonst lieferst Du wenig Information, die nötig ist, um Dir zu helfen, wie z.B. das Ergebnis von
Bitte lies viewtopic.php?f=20&t=11
Bitte lies auch den Hilfetext zu == und schau Dir folgende Beispiele an:
Du stellst Dir die Funktionsweise von == anders vor, als sie ist. Hier der passende Spruch für diese Situation:
Gruß, Jörg
willkommen im Forum!
1. Du hast den Code und den Output nicht formatiert, lies viewtopic.php?f=20&t=29
2. Du hast uns verschwiegen, dass Du weitere Pakete einsetzt, denn die von Dir verwendete Funktion filter() ist nicht die aus dem standardmäßig geladenen Paket stats
3. Auch sonst lieferst Du wenig Information, die nötig ist, um Dir zu helfen, wie z.B. das Ergebnis von
Code: Alles auswählen
str(Afrika)
Bitte lies auch den Hilfetext zu == und schau Dir folgende Beispiele an:
Code: Alles auswählen
x <- 1:5
x == 3
x == c(3, 4)
Code: Alles auswählen
library(fortunes)
fortune(85)