162得票6回答
如何使用dplyr选择每个组中具有最大值的行?

我希望用dplyr选择每个组中具有最大值的行。 首先,我生成了一些随机数据来说明我的问题。set.seed(1) df <- expand.grid(list(A = 1:5, B = 1:5, C = 1:5)) df$value <- runif(nrow(df)) 在ply...

148得票6回答
将三列数据框重塑为矩阵(从“长”格式到“宽”格式)

我有一个看起来像这样的data.frame。x a 1 x b 2 x c 3 y a 3 y b 3 y c 2 我希望将这个转换成矩阵形式,以便可以将其传递给热力图进行绘制。结果应该类似于: a b c x 1 2 3 y 3 3 ...

144得票8回答
使用dplyr将函数应用于表格的每一行?

在使用 plyr 时,我经常发现使用 adply 对每一行应用标量函数非常有用。 例如:data(iris) library(plyr) head( adply(iris, 1, transform , Max.Len= max(Sepal.Length,Petal.Length)...

135得票6回答
使用dplyr按组计算行数

我正在使用mtcars数据集。 我想找到特定数据组合的记录数。 类似于SQL中count(*) group by子句的内容。 plyr中的ddply()对我有用。library(plyr) ddply(mtcars, .(cyl,gear),nrow) 有输出 cyl gear V1 1 ...

118得票4回答
dplyr summarise:相当于“.drop=FALSE”的功能,保留输出中长度为零的分组。

使用plyr中的ddply函数和summarise时,默认情况下会删除空类别。您可以通过添加.drop = FALSE来更改此行为。但是,当使用dplyr中的summarise时,这种方法不起作用。还有其他方法可以在结果中保留空类别吗? 以下是一个使用虚假数据的示例。library(dply...

101得票6回答
dplyr:"Error in n():该函数不应直接调用"

我尝试在dplyr包中复现其中一个示例,但是遇到了这个错误信息。我期望看到一个名为n的新列,其中包含每种组合的频率。我漏掉了什么?我三次确认了已经加载了该包。 library(dplyr) # summarise peels off a single layer of grouping by_...

95得票3回答
R中的点号是什么意思 - 个人偏好、命名约定还是其他?

我(可能)并不是指“所有其他变量”这样的意思,比如var1~.。有一次,我被引导使用了plyr,然后研究了一下mlply,想知道为什么参数是这样定义的:function (.data, .fun = NULL, ..., .expand = TRUE, .progress = "none", ...

90得票5回答
如何在每个组内创建滞后变量?

我有一个 data.table:require(data.table) set.seed(1) data <- data.table(time = c(1:3, 1:4), groups = c(rep(c("b", &quot...

75得票5回答
为什么我的dplyr group_by和summarize没有正常工作?(与plyr名称冲突)

我有一个数据框,长得像这样:#df ID DRUG FED AUC0t Tmax Cmax 1 1 0 100 5 20 2 1 1 200 6 25 3 0 1 NA 2 ...

59得票1回答
为什么plyr如此缓慢?

我认为我在错误使用plyr。 请问这段代码是否“高效”?require(plyr) plyr <- function(dd) ddply(dd, .(price), summarise, ss=sum(volume)) 一些背景信息:我有几个大型聚合问题,我注意到它们每个都需要一些时间...