r - 如何根据 R 中另一列中的最高数字计算新列?
问题描述
我有一个问题如何更好地解决问题。
我想根据另一列分组后另一列的最高数量定义一个新列。我确实找到了一个解决方案,见下文,但我认为有更好的方法来做到这一点。
我希望每个 SN 的 totaltestno 是该特定 SN 的最高 testno。
感谢您的任何帮助和建议!
sets <- data.frame(SN=c(1234, 1234, 2345, 3456, 7890, 7890, 7890, 1234, 1234, 2345, 3456, 7890, 7890, 7890), a= c(1,2, 3, 4, 1,2, 1,2,1,2,3,4,5,6) ,testno=
c(1,1,2,2,1,1,1,1,1,1,2,2,3,3))
sets
sets <- sets %>% group_by(SN) %>%
arrange(desc(testno), .by_group = TRUE)
setshighestno <- sets %>% distinct(SN, .keep_all = TRUE)
setshighestno$totaltestno <- setshighestno$testno
setshighestno$testno <- NULL
setshighestno$a <- NULL
setshighestno
newsets <- merge(x = sets, y=setshighestno, by = "SN")
newsets
解决方案
我们可以用
library(dplyr)
newsets %>%
group_by(SN) %>%
mutate(totaltestno2 = max(testno))
推荐阅读
- reactjs - React - 如何使用打字稿定义道具
- storybook - 在 Storybook 5.3 beta 中使用带有 HTML 元素的旋钮插件
- r - Rtools 是构建 R 软件包所必需的,但目前尚未安装
- python - 将无与 Python3 中的几个变量进行比较
- salesforce - Salesforce Oauth 错误。1814:身份验证期间发生意外错误
- tensorflow - NotFoundError:在 tensorflow 2.0 中生成随机整数数组时找不到节点的有效设备
- chat - 如何将音频通话添加到火箭聊天
- c++ - “std::decay_t (C++20 前)std::remove_cvref_t (C++20 起)”是什么意思?
- python - 具有指定条件的 Pandas groupby
- c - C 中的程序读取 txt 文件 = 查找最小值、最大值、平均值