2016-08-26 6 views
0

Ich habe online für mehr als zwei Stunden nach Hilfe gesucht und "herumgespielt" mit verschiedenen Parametern und kann nicht scheinen, dies herauszufinden. Ich habe eine Datenbank, hlc, die eine nominale Variable namens "loc." Diese Variable ist ein numerischer Code, wobei jeder Code den Standort einer Hochschule beschreibt, beispielsweise "ländlich" oder "kleine Stadt". Ich muss für jede dieser Kategorien eine Zählung erhalten.Extrahieren von Elementen aus einer Tabelle in R

habe ich eine Tabelle:

table(hlc$loc) 

-3 11 12 13 21 22 23 31 32 33 41 42 43 
0 9 12 27 14 3 5 1 17 39 39 10 2 

ich dann die Tabelle in eine Variable gesetzt:

loc[1] 
-3 
0 

:

loc <- table(hlc$loc) 

ich eine der Elemente wie diese bekommen können Was ich tun möchte ist, jedes Element einzeln zu erhalten, wie "-3" und "0" für loc[1]. Ich versuchte dies erfolglos:

loc[1,1] 
Error in `[.default`(loc, 1, 1) : incorrect number of dimensions 

Es ist wie die loc Tabelle scheint eine Liste ist, aber jedes Element in dieser Liste irgendwie mit zwei Werten verknüpft, die Behälternummer und der Anzahl der Instanzen für diesen Behälter. Wie kann ich jeden dieser einzelnen Werte aus der Tabelle extrahieren: die Fachnummer und die Anzahl für diesen Fach?

Antwort

3

Sie können es gerne zugreifen:

names(loc[2]) 
11 

loc[[2]] 
9 
2

Die anderen Antworten, die Sie schon sagen, wie die Werte zugreifen, die Sie wollen. Aber es lohnt sich, eine kleine Erklärung hinzuzufügen, damit Sie auch verstehen, was vor sich geht.

Wenn Sie loc drucken, sieht es so aus, als ob Sie zwei Zahlenreihen erhalten. Aber das ist irreführend. Die oberste Zeile ist eigentlich ein Attribut, das die Namen jedes Elements angibt, und es besteht aus Zeichenketten, nicht aus Zahlen. Wir können str verwenden, um die Struktur klarer zu sehen:

set.seed(123) 
x=sample(c(-3,1,4,5,7,11),50,T) 
loc=table(x) 
str(loc) 
# 'table' int [1:6(1d)] 8 9 8 7 7 11 
# - attr(*, "dimnames")=List of 1 
# ..$ x: chr [1:6] "-3" "1" "4" "5" ... 

Da loc ein benannter Vektor ist, können wir die Namen verwenden, um Elemente zuzugreifen. Aber mit ein wenig Sorgfalt. Beachten Sie, dass die Bezugnahme auf Elemente anhand ihrer Indexposition und ihres Namens zu anderen Ergebnissen führt.

loc[1] 
#-3 
# 8 

loc["1"] 
#1 
#9 
Verwandte Themen