gpt4 book ai didi

r - "longer object length is not a multiple of shorter object length"

转载 作者:行者123 更新时间:2023-12-01 12:52:19 29 4
gpt4 key购买 nike

我有这个数据集 -

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/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com