Mam ramkę danych z trzema kolumnami: ref, cel, odległość. Każdy ref ma zmierzoną odległość do tego samego zestawu celów i chciałbym uzyskać wektor minimalnych odległości dla każdego ref. Teraz robię to z pętlą for, ale wygląda na to, że powinien istnieć sposób na wektoryzację tego.Wektoryzacja dla pętli nad ramką danych w R
Oto mój kod:
refs <- levels(data$ref)
result <- c()
for (ref in refs) {
# Find the minimum distance for observations with the current ref
# but be sure to protect against ref == target!
best_dist <- min(data[data$ref == ref & data$target != ref,]$distance)
result <- c(result, best_dist)
}
Am I skazane przez posiadające moja ramka danych skonfigurowana w ten sposób, czy też istnieje dobry sposób na wektorować to? Dzięki za pomoc!
myślę, że masz a ')' brakuje tam ... – adibender
ta. Naprawiono teraz .. – mnel
To wydaje się nie działać całkiem dobrze, jak jest. Otrzymuję następujący błąd podczas próby: ** Błąd w Ops.factor (ref, target): różne zestawy współczynników są różne ** Jednak ** DT [, lista (bestdist = min (odległość)), przez = ref] ** Powoduje wyjście, ale bez wartości ref = kontrola celu. – weitzner