Заменить две строки в кадре данных R одной строкой, содержащей их среднее значение - PullRequest
0 голосов
/ 20 ноября 2019

Я хочу знать, как лучше всего заменить две строки в кадре данных в R только одной строкой, содержащей средние значения этих двух строк?

Например, допустим, у меня есть кадр данных, похожий на этот:

index<-c("id1", "id2", "id3", "id4")
a<-c(1,2,3,4)
b<-c(5,2,9,4)
df<-data.frame(index, a,b)

И я хочу заменить строки id2 и id3 только одной строкой, id.average, которая содержит средние значенияиз id2 ((2 + 3) / 2) и id3 ((2 + 9) 2), поэтому я хочу, чтобы мой фрейм данных в конечном итоге выглядел так:

index<-c("id1", "id.average", "id4")
a<-c(1,2.5,4)
b<-c(5,5.5,4)
df<-data.frame(index, a,b)

Я вычисляю среднее число строк, как это:

df2<-df[c(-1)]
row.names(df2)<-df$index
average<-apply(df2[2:3,], 2, mean)

, а затем удалил строки 2 и 3, но затем мой порядок строк испортился (т.е. вместо того, чтобы id4 был строкой № 2, это все еще строка № 4 ..) и не знаю какдобавить новую строку id.average, чтобы она была строкой 2, между строкой 1 (id1) и строкой 3 (id4)

...