x <- head(iris)
> x
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3.0 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
5 5.0 3.6 1.4 0.2 setosa
6 5.4 3.9 1.7 0.4 setosa
如果我想将一个名为“maximum_num”的新列突变到x上,其值为5.1,4.9,4.7等,我该怎么做?(我意识到糟糕的例子,因为这里都是Sepal.Length,但如果最大值每次来自不同的cols)
> which.max(x)
Error in which.max(x) : (list) object cannot be coerced to type 'double'
我想我可以用which.max但不知道如何编织。
我也试过
x %>% mutate(maxmax = summarise_all(select(., -Species), funs(max)))
Error in `[[<-.data.frame`(`*tmp*`, col, value = list(Sepal.Length = 5.4, :
replacement has 1 row, data has 6
如何追加包含最大行值的新列?
有dplyr esque的方式吗?对base r也很满意。
您可以在基础包中使用< code>apply:
x$maxma=apply(iris[-5],1,max)
我们可以使用矢量化的pmax
x$maxma <- do.call(pmax, iris[-5])
使用 dplyr
链
x %>%
mutate(maxma = do.call(pmax, .[-5]))
问题内容: Java标准库中的Priority Queue实现似乎是最小的Priority Queue,我感到有些困惑。为了将其变为最大,我创建了一个自定义比较器对象。 我想知道是否有更优雅的解决方案。从本质上讲,我不会使用可用于实现Dijkstras等的通用优先级队列。我什至没有意识到会有反向操作的队列:/ 问题答案: 使用Java的比较器。 Java参考
我有这个数据框: 我需要把它变成这样: 我有点不知道该怎么做,请帮忙好吗?
问题内容: 我的Mysql数据库中有一个表,该表用于身份验证。现在,我需要使身份验证区分大小写。在谷歌搜索中,我已经意识到Mysql列对于搜索操作是不区分大小写的(与Oracle相反),并且在创建表时可以通过指定“ binary”即更改默认行为。 有人可以告诉我如何更改Mysql中的表以将“二进制”添加到数据库的现有列吗? 谢谢! 问题答案:
问题内容: 我想将表列更改为可为空。我用过了: 这会导致出现错误。正确的语法是什么? 问题答案: 假设(基于您之前的问题): 用您的实际数据类型替换。
问题内容: 我试图在事实发生后修改表使其成为主键列。我尝试了以下SQL,但收到语法错误通知。 我做错什么了吗? 问题答案:
问题内容: 在pgsql中,有一种方法可以建立一个包含多个值的表,然后选择其中一个值(例如other_id),找出其最大值,并使表中的每个新条目都从该值开始递增。 我想这太容易了,没有机会工作。 非常感谢您的见解! 问题答案: 快速浏览一下文档会告诉您 数据类型smallserial, serial 和bigserial 不是真实类型, 而只是创建唯一标识符列的符号方便 如果你想使现有的(整数)列