otrzymał próbkę ramka danych:Oblicz rząd oznacza na podzbiór kolumn
C1<-c(3,2,4,4,5)
C2<-c(3,7,3,4,5)
C3<-c(5,4,3,6,3)
DF<-data.frame(ID=c("A","B","C","D","E"),C1=C1,C2=C2,C3=C3)
DF
ID C1 C2 C3
1 A 3 3 5
2 B 2 7 4
3 C 4 3 3
4 D 4 4 6
5 E 5 5 3
Jaki jest najlepszy sposób, aby utworzyć drugą ramkę danych, które zawierają kolumnę ID
i średnią z każdego wiersza? Coś takiego:
ID Mean
A 3.66
B 4.33
C 3.33
D 4.66
E 4.33
coś podobnego do:
RM<-rowMeans(DF[,2:4])
Chciałbym zachować środki wyrównane z ich ID
wieku.
Dzięki. Zwróć też uwagę na 'class (DF)', że nie zamykasz 'data.frame' w tym sensie, że każda funkcja szukająca obiektu' data.frame' powinna zaakceptować 'DF' po' setDT' (szczególnie, że 'data.table' jest po dojrzałej stronie) – MichaelChirico
Co, jeśli chcę zamiast tego w wierszu między C2 a C3? – user3841581
Następnie możesz użyć 'DF [,. (Mean = rowMeans (.SD)), by = ID, .SDcols = c (" C2 "," C3 ")]'. Argument '.SDcols' określa, które kolumny mają być uwzględnione w' .SD'. @ user3841581 – BenBarnes