Как я могу получить среднее значение каждого числового столбца в одних данных?

У меня есть данные с именем cluster_1. Он имеет номинальную переменную от первого столбца до третьего.

# select the columns based on the clustering results
cluster_1 <- mat[which(groups==1),]

m_cluster_1 <-   mean(cluster_1[c(-(1:3))])

По последнему утверждению я могу получить среднее значение всех столбцов. Однако я хочу прикрепить среднее значение каждой переменной (столбца) к нижней части столбца.

Как я могу это сделать? Пожалуйста, дай мне знать.


person Community    schedule 25.11.2013    source источник


Ответы (2)


colMeans() даст вам среднее значение каждого столбца во фрейме данных или матрице. И rbind() можно использовать для добавления результата.

rbind(cluster_1[, -(1:3)], colMeans(cluster_1[, -(1:3)]))
person Ciarán Tobin    schedule 25.11.2013
comment
Спасибо за помощь, но у меня все еще есть проблема. Я скопировал и вставил ваш ответ, но это не сработало, как я хотел. - person ; 25.11.2013
comment
Я использую RStudio, и ваш ответ работает на консоли, но не создает никакого набора данных. - person ; 25.11.2013
comment
cluster_1‹-rbind(cluster_1[, -(1:3)], colMeans(cluster_1[, -(1:3)])) - person ; 25.11.2013
comment
О, я скопировал и вставил ваш ответ после cluster_1‹-, и это сработало! Спасибо!! - person ; 25.11.2013

Обобщение того, что вы делаете, можно найти с помощью функции addmargins. Попробуйте, например:

cluster_1Means <- addmargins(cluster_1[, -(1:3)], margin = 1, FUN = mean)
cluster_1Means
person A5C1D2H2I1M1N2O1R2T1    schedule 25.11.2013