r - R:在我的数据框中添加一行,每列的中位数
问题描述
我想在我的数据框中添加一行,其中包含所有列的中位数。所以如果我们有这个数据集:
GDP GDP per capita
France 1 1
Spain 1 1
Etiopia 3 3
我想添加一个名为“Medians”的行,因此数据框最终如下所示:
GDP GDP per capita
France 1 1
Spain 1 1
Etiopia 3 3
Medians 1 1
我想我应该使用 rbind() 和 colMeans(),但我不确定我应该如何编码。
谢谢!
解决方案
如果它是 a data.frame
,则可以使用sapply
df1 <- rbind(df1, Medians = sapply(df1, median, na.rm = TRUE))
df1
# GDP GDP per capita
#France 1 1
#Spain 1 1
#Etiopia 3 3
#Medians 1 1
如果是matrix
,可以使用apply
with MARGIN = 2
(也可以使用 with data.frame
)
rbind(df1, Medians = apply(df1, 2, median, na.rm = TRUE))
数据
df1 <- structure(list(GDP = c(1L, 1L, 3L), `GDP per capita` = c(1L,
1L, 3L)), class = "data.frame", row.names = c("France", "Spain",
"Etiopia"))
推荐阅读
- javascript - 使用来自 JS(Odoo)的自己的按钮添加记录?
- javascript - 如何并排放置两个跨度,然后在它们之上放置一个跨度
- flutter - 颤振:IconButton onPressed 不适用于 SimpleDialog
- python - 无法在 Azure 机器学习实验上运行的脚本中的 python 中安装 python-dotenv
- windows - 子进程可以从其父进程访问内存吗?
- php - 日期选择器格式的 PHP 时间戳?
- python - 如何在 SQL 中添加具有来自另一列的某些值的累积的列?
- mongodb - mongodb-community-operator 成员增加不起作用
- outlook - Office365 日历事件未同步到 Google 日历
- python - 我如何使用另一个类的魔法方法?