r - 按列的总和以升序对数据进行排序
问题描述
我有一个看起来与此类似的数据框:
v1 v2 v3 v4 v5 v6
.. .. .. .. .. ..
.. .. .. .. .. ..
有 100 行。我想按和sum
中的个人的升序对我的数据进行排序。col
v5
v6
我曾尝试使用此代码,但无济于事:
datatestt <- rowSums(df(V5, V6))
上面的代码给了我一个错误,我怎么能对我的数据进行排序?
解决方案
如果我们想order
基于rowSums
列的子集,对列进行子集df[c("v5", "v6")]
,应用rowSums
并创建一个索引('i1'),该索引可用于order
对行进行排序vector
i
i1 <- order(rowSums(df[c("v5", "v6")]))
dfnew <- df[i1, ]
或使用tidyverse
library(dplyr)
library(purrr)
df %>%
arrange(select(., v5, v6) %>%
reduce(`+`))
数据
set.seed(24)
df <- as.data.frame(matrix(sample(1:20, 6 * 10, replace = TRUE),
ncol = 6, dimnames = list(NULL, paste0("v", 1:6))))
推荐阅读
- javascript - 将事件 gtag 代码发送到 Analytics 以设置目标
- reactjs - 古腾堡区块的范围问题
- ros - 了解ros_control的JointTrajectoryController
- excel - 如何使用 VBA 获取用于导入 Excel 的路径和文件名
- sas - 将加密 SAS 函数转换为 Power BI
- python - 在没有参数的 pyspark 执行程序上启动函数
- php - 我怎样才能给 id
动态标记? - azure - 我已经从具有两个 NIC 的 VM 中创建了一个 Azure 映像。当我使用映像创建新 VM 时,我只能在新 VM 中看到一个 NIC
- php - Google Vision API 标准化图像
- javascript - 使用 React js 在 Google Keep 克隆应用上编辑笔记