作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有这个数据集 -
print(df)
object group
1 apple A
1 banana B
1 pear A
1 robot C
print(df2)
object group
1 apple A
1 apple B
1 apple A
1 robot C
1 robot C
1 robot C
1 banana C
我想计算每个值在另一个数据集中出现的次数,该数据集看起来完全相同,但数据来自不同的时间段。另一个数据集称为 df2
。
我使用了这段代码 -
x <- df %>%
mutate(reference = length(df2[df2$object == object,]$object))
它给了我这个错误:较长的对象长度不是较短对象长度的倍数
。
当我在 dplyr 之外运行它时,它会起作用,就像这样 -
object <- "apple"
length(df2[df2$object == object,]$object)
我可以做这样的相对引用,包括过滤器中的 object
吗?
最佳答案
根据我的评论:dplyr 函数适用于作为向量的整个列。尝试
df %>%
rowwise() %>%
mutate(reference = length(df2[df2$object == object,]$object))%>%
ungroup()
如您所说,ungroup
是必需的,除非您计划进行进一步的逐行操作。
关于r - "longer object length is not a multiple of shorter object length",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55234005/
我是一名优秀的程序员,十分优秀!