KayJ
05-06-2007, 14:17
Hi,
ich lese Daten aus einer *.csv Datei so, dass diese dann in der Form
"id1" "id"
0 23
0 39
0 40
3 11
3 68
4 1
... vorliegen. Ich versuch grad eine Funktion zu schreiben, der man diese Liste übergibt und den Namen deren Werte gezählt werden sollen. Also in der Form:
count <- function(mat, colname)
Gleiche Einträge sollen nur einmal gezählt werden. Heißt das Ergebnis des Beispiels wäre 3.
Allerdings gibt mir die Funktion beim Aufruf von "count(test, userid)" folgenden Fehlerm zurück:
"Fehler in (function(x, i) if (is.matrix(i)) as.matrix(x)[[i]] else .subset2(x, :
objekt "userid" nicht gefunden"
Jemand ne Idee woran es liegen könnte? Hier die Funktion:
count <- function(mat, colname){
#laeuft durch
i <- 1;
# zaehlt user
value <- 1;
# initialisiert mit erstem Datenwert
tempold <- mat[[colname]][i];
# anzahl der eintraege in matrix-attribut <colname>
lng <- length(mat[[colname]]);
while(i <= lng){
temp <- mat[[colname]][i];
if(temp != tempold){
value <- value + 1;
tempold <- temp;
}
i <- i + 1;
}
value
}
Danke schonmal für Hilfe! :)
ich lese Daten aus einer *.csv Datei so, dass diese dann in der Form
"id1" "id"
0 23
0 39
0 40
3 11
3 68
4 1
... vorliegen. Ich versuch grad eine Funktion zu schreiben, der man diese Liste übergibt und den Namen deren Werte gezählt werden sollen. Also in der Form:
count <- function(mat, colname)
Gleiche Einträge sollen nur einmal gezählt werden. Heißt das Ergebnis des Beispiels wäre 3.
Allerdings gibt mir die Funktion beim Aufruf von "count(test, userid)" folgenden Fehlerm zurück:
"Fehler in (function(x, i) if (is.matrix(i)) as.matrix(x)[[i]] else .subset2(x, :
objekt "userid" nicht gefunden"
Jemand ne Idee woran es liegen könnte? Hier die Funktion:
count <- function(mat, colname){
#laeuft durch
i <- 1;
# zaehlt user
value <- 1;
# initialisiert mit erstem Datenwert
tempold <- mat[[colname]][i];
# anzahl der eintraege in matrix-attribut <colname>
lng <- length(mat[[colname]]);
while(i <= lng){
temp <- mat[[colname]][i];
if(temp != tempold){
value <- value + 1;
tempold <- temp;
}
i <- i + 1;
}
value
}
Danke schonmal für Hilfe! :)