我如何只使用dplyr函数(想象一下有6M行的巨大的Data.Table(BIGiris))来实现与下面的代码相同的功能呢
> out<-as.data.frame(table(iris$Species))
> names(out)[1]<-'Species'
> names(out)[2]<-'my_cnt1'
> out
输出是这个。请注意,我必须重新命名列1。另外,在dplyr mutate或其他调用中,我希望以某种方式为我的新count列指定名称。
Species my_cnt1
1 setosa 50
2 versicolor 50
3 virginica 50
想象一下连接到这样一个表(假设iris data.frame有6M行),species更像是“species_id”
> habitat<-data.frame(Species=c('setosa'),lives_in='sea')
最终联接和输出(对于联接,我需要一直保留列名)
> left_join(out,habitat)
Joining by: "Species"
Species my_cnt1 lives_in
1 setosa 50 sea
2 versicolor 50 <NA>
3 virginica 50 <NA>
>
对于第一部分,可以使用dplyr
如下所示
library(dplyr)
out <- iris %>% group_by(Species) %>% summarise(my_cnt1 = n())
out
Source: local data frame [3 x 2]
Species my_cnt1
1 setosa 50
2 versicolor 50
3 virginica 50
要在一个链中继续,请执行以下操作:
out <- iris %>% group_by(Species) %>% summarise(my_cnt1 = n()) %>% left_join(habitat)
out
Source: local data frame [3 x 3]
Species my_cnt1 lives_in
1 setosa 50 sea
2 versicolor 50 NA
3 virginica 50 NA
顺便说一下,dplyr
现在使用%>%
代替%.%
。它也是magrittr
包的一部分。
在Raku中,如何编写Haskell的函数的等价物? 在Haskell中,给定一个谓词和一个列表,可以将列表分成两部分: 满足谓词的元素的最长前缀 例如,Haskell表达式... …计算结果为… 如何编写Haskell的函数的Raku等价物? 基于@chenyf的回答,我开发了以下子程序… 程序输出为…
下面是一些示例数据,它的输出是我想要得到的。 输出:
问题内容: 是否有与的函数等效的也就是说,给定多个相同长度的数组,将创建一个成对的数组。 例如,如果我有三个看起来像这样的数组: 输出数组应为: 问题答案: 这是一个时髦的Ecmascript 6版本: 相当于插图。到: (并且指出ES6具有可变参数语法,因此以下函数定义将类似于python,但请参见下文的免责声明…这将不是其自身的逆,因此)将不相等x;尽管正如Matt Kramer指出的那样例如
问题内容: 在Python中,我想编写一个返回另一个函数的函数。返回的函数应该可以通过参数调用,并返回高度和半径为圆柱的体积。 我知道如何从Python中的函数返回 值 ,但是如何返回 另一个函数 ? 问题答案: 使用Python尝试一下: 这样使用它,例如与和: 注意,返回一个函数很简单,只需在函数内部定义一个新函数,然后在最后返回它- 小心地为每个函数传递适当的参数。仅供参考,从另一个函数返回
嗯,我已经试过多次了。不过,我一度认为最长的序列函数会有所帮助,因为它显示的是最长的冰雹序列。尽管如此,我似乎不知道如何查找或存储它用于查找的值。如果有人能解释一下,我将不胜感激。 我遇到的问题是我最长的启动顺序: 我不知道如何将其转换为递归,我注意到对于一些递归,我看到人们仍然在使用for循环,但我确信我们不应该使用循环。这可能是一个愚蠢的问题,但如果有人知道的话,有没有一个公式可以将循环转换为
场景: 这段代码不起作用,而且我找不到一种方法来调用一个像继承的那样的特性函数。我尝试调用、、、以及以下命令: 什么都不起作用。 是否有方法使其工作,或者我必须完全重写比这复杂得多的trait函数:)