例如。
data(iris)
library(plyr)
head(
adply(iris, 1, transform , Max.Len= max(Sepal.Length,Petal.Length))
)
Sepal.Length Sepal.Width Petal.Length Petal.Width Species Max.Len
1 5.1 3.5 1.4 0.2 setosa 5.1
2 4.9 3.0 1.4 0.2 setosa 4.9
3 4.7 3.2 1.3 0.2 setosa 4.7
4 4.6 3.1 1.5 0.2 setosa 4.6
5 5.0 3.6 1.4 0.2 setosa 5.0
6 5.4 3.9 1.7 0.4 setosa 5.4
现在我正在使用dplyr
更多,我想知道是否有一种整洁/自然的方法来做这件事?因为这不是我想要的:
library(dplyr)
head(
mutate(iris, Max.Len= max(Sepal.Length,Petal.Length))
)
Sepal.Length Sepal.Width Petal.Length Petal.Width Species Max.Len
1 5.1 3.5 1.4 0.2 setosa 7.9
2 4.9 3.0 1.4 0.2 setosa 7.9
3 4.7 3.2 1.3 0.2 setosa 7.9
4 4.6 3.1 1.5 0.2 setosa 7.9
5 5.0 3.6 1.4 0.2 setosa 7.9
6 5.4 3.9 1.7 0.4 setosa 7.9
从dplyr 0.2开始(我认为)rowwise()
已经实现,因此这个问题的答案变成:
iris %>%
rowwise() %>%
mutate(Max.Len= max(Sepal.Length,Petal.Length))
五年(!)后来这个答案仍然得到了大量的流量。自从给出了rowwise
后,越来越不推荐使用它,尽管很多人似乎觉得它很直观。帮你自己一个忙,看看Jenny Bryan在R中的面向行的工作流和tidyverse材料,就能很好地处理这个主题。
我找到的最直接的方法是基于Hadley使用pmap
的一个示例:
iris %>%
mutate(Max.Len= purrr::pmap_dbl(list(Sepal.Length, Petal.Length), max))
问题内容: 如何将函数应用于变量输入列表?例如,函数返回真值,但不返回函数的实际输出。 预期的输出是: 我知道是内置的。这只是一个例子。 问题答案: 我认为您的意思是使用而不是: 更简单的是,您可以使用而不是从中导入(感谢@alecxe): 在Python 2.x中,通过将给定函数应用于列表中的每个元素来构造新列表。通过限制使用给定函数求值的元素来构造新列表。 在Python 3.x中,和构建迭代
本文向大家介绍将函数应用于Python中Pandas DataFrame中的每一行,包括了将函数应用于Python中Pandas DataFrame中的每一行的使用技巧和注意事项,需要的朋友参考一下 在本教程中,我们将学习列表的最常用方法,即append()和extend()。让我们一一看。 应用() 它用于将函数应用于DataFrame的每一行。例如,如果我们想将每个中的所有数字相乘并将其添加为
我试图计算在一个Tibble中源向量和比较向量之间的Jaccard相似度。 jaccard_sim中的所有值都为零。但是,如果我们运行类似这样的东西,我们得到第一个条目的正确的Jaccard相似度为0.2:
我编写了这个函数,它只是用子字符串替换数据表列中的每个值: 但每次我试着运行它时,我都会发现错误: 现在我已经做了很多关于为什么它不起作用的研究,但我不明白。我读过一些关于标准评估和懒散的东西,但我尝试的似乎都不管用。有什么帮助吗? 谢谢
我想应用一个自定义函数并创建一个名为population2050的派生列,该列基于数据框中已经存在的两列。 当我运行上面的代码时,我得到一个错误。我是否没有正确使用“应用”功能?
问题内容: 我是Python的新手,我不确定如何解决以下问题。 我有一个功能: 说我有数据框 而和是浮点类型。现在,我想将公式应用于数据帧的每一行,并将其作为额外的行“ Q”返回。一个示例(不起作用)将是: (仅返回“地图”类型) 在我的项目中,我将需要更多此类处理,并希望找到可行的方法。 问题答案: 以下应该工作: 如果您要做的只是计算某个结果的平方根,则使用矢量化的方法,它将大大加快速度: 时