Próbuję zastosować funkcję do grupy kolumn w dużej tabeli danych bez odwoływania się do każdego z nich osobno.R Dataable, zastosowanie funkcji do podzbioru kolumn
a <- data.table(
a=as.character(rnorm(5)),
b=as.character(rnorm(5)),
c=as.character(rnorm(5)),
d=as.character(rnorm(5))
)
b <- c('a','b','c','d')
z MWE powyżej, to:
a[,b=as.numeric(b),with=F]
prace, ale w ten sposób:
a[,b[2:3]:=data.table(as.numeric(b[2:3])),with=F]
nie działa. Jaki jest prawidłowy sposób zastosowania funkcji as.numeric
tylko do kolumn 2 i 3 z a
bez odwoływania się do nich indywidualnie.
(W rzeczywistych danych ustawione są dziesiątki kolumn więc byłoby niepraktyczne)
Dzięki
Jeśli chcesz użyć "przez" grupowanie tutaj, to ma być zawarte z wyprzedzeniem, w 'mysubset'? –
@TrevorAlexander - Nie, kolumny "By" nie znajdują się w '.SD', istnieją jako pojedyncze wartości w środowisku, w którym' .SD' jest tworzone. – mnel
Witam, jak używać tego, jeśli chcę zastosować funkcję we wszystkich kolumnach, ale "b"? Dzięki! – Christa