我有一个名称重复的数据集。如果名称重复,我想创建一个值为1(TRUE)或0(FALSE)的新列。
这是我使用的代码:
library(dplyr)
dat %>% mutate(Duplicated = ifelse(distinct(`First name` == T, 0, 1)))
Error in mutate_impl(.data, dots) : Evaluation error: no applicable method for 'distinct_' applied to an object of class "logical".
或者
dat %>% mutate(Duplicated = ifelse(distinct(`First name`), 0, 1))
Error in mutate_impl(.data, dots) : Evaluation error: no applicable method for 'distinct_' applied to an object of class "logical".
然而,我得到了上面可以看到的错误。
另一个想法是使用group_by,然后计算计数。喜欢:
dat %>%
group_by(`Last name`) %>%
summarise(N = n()) %>%
ungroup() %>%
mutate(Dpulicated = ifelse(N > 1, 1,0)
但是,它不能返回原始数据帧后group_by
与其< code > summary(N = N()),不如< code>mutate(N = n())。
我会这样做:
library(dplyr)
df = data.frame("last_name" = c("Smith","James","Smith","Smith","Messi"),
"value" = c(15,26,7,38,90))
df = df %>%
group_by(last_name) %>%
mutate(n = n(),
is_dupe = ifelse(n > 1,TRUE,FALSE))
我觉得应该有一种有效的方法使用和使用来修改新列,但不能使其工作。 我知道在中使用“有点试验性”(就像在本文中一样),但如果有任何建议,我将不胜感激。 不起作用:
我已经更新了dplyr(现在是0.7.1),我的很多旧代码都不能用了,因为mutate_each已经被弃用了。我曾经用mutate_each做类似这样的事情(代码如下),使用列索引。我会在数百个专栏中这样做。而我就是搞不清楚如何用mutate_at正确使用vars参数。我看到的所有例子都使用了列名...我不想这么做。我确信这是一个简单的答案,但是我已经花了太多的时间试图弄明白它,并且将非常感谢一些
问题内容: 我在SQL Server 2008中具有下表: 选择具有相同dtIn日期的相同类型的所有记录的ID,并按stOut升序排列: 但这给了我一个错误: 如果指定了SELECT DISTINCT,则ORDER BY项目必须出现在选择列表中 我尝试将ORDER BY放在不同的地方,但这似乎不起作用。我在这里做错了什么? 问题答案: 当您将其范围缩小到单个ID时,您就有可能每个ID可能都具有多个
我一直在反复讨论我们系统中的一个问题,即使在论坛上进行了一些研究和多次测试,我们似乎也无法解决这个问题。 我会尽量弄清楚我们在处理什么 我们有一个带有路由的主服务,该路由从activemq队列读取数据(使用嵌入式代理的spring boot)将其发送到路由(B),然后将所有内容发送到最终路由(C)。路由(B)依赖于服务。 骆驼版:3.3.0Spring靴版:2.3.3。发布 路线A: 路线B: 路
我是碰撞检测新手,在游戏原型中遇到了一些问题。我已经做了好几天了。经过一些阅读和辅导,我仍然不明白我做错了什么,所以这里的其他人应该能够解释我做错了什么。 游戏运行时,屏幕上有10个绿色矩形(NPC)和1个红色矩形(吸血鬼)。作为一个起点,我希望吸血鬼“喝血”,当它通过愚蠢的运气随机穿过npc时。如果我不注释掉冲突检测方法,代码中就会出现一个nullpointexception。 公共类屏幕扩展J
我试图计算在一个Tibble中源向量和比较向量之间的Jaccard相似度。 jaccard_sim中的所有值都为零。但是,如果我们运行类似这样的东西,我们得到第一个条目的正确的Jaccard相似度为0.2: