df <- structure(list(`a a` = 1:3, `a b` = 2:4), .Names = c("a a", "a b"
), row.names = c(NA, -3L), class = "data.frame")
i dane wyglądadplyr: wybierz nazwy kolumn zawierające spacje
a a a b
1 1 2
2 2 3
3 3 4
Po wywołaniu wybrać
select(df, 'a a')
daje
Error in abs(ind[ind < 0]) :
non-numeric argument to mathematical function
Jak mogę wybrać " aa "i/lub zmień jego nazwę na coś bez u śpiewać select
? Znam następujące podejścia:
names(df)[1] <- "a"
select(df, a=1)
select(df, ends_with("a"))
ale jeśli pracuję na dużym zbiorze danych, w jaki sposób mogę uzyskać dokładne dopasowanie nie znając numer indeksu lub podobne nazwy kolumn?
można również zrobić to samo z 'select':' select (DF, a = \ 'a do \') ' – Arun
@Arun, Dzięki za sugestię. Ale czy to nie zmienia nazwy "a", "i" wybierz tylko tę zmienną (w przeciwieństwie do "zmiany nazwy")? – Henrik
Henrik, masz rację. Ale 'rename' skopiuje cały plik data.frame tylko po to, aby zmienić nazwy kolumn. Tak więc, nie użyłbym go/uważam za skuteczny. Nie jestem pewien, czy istnieje sposób jak 'setattr' w' data.table'. Np .: 'setattr (df, 'names', c (" a "," b "))) zmienia nazwę tutaj przez odniesienie. – Arun