首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R检查组内的级别,如果不存在重复行,则检查

R检查组内的级别,如果不存在重复行,则检查
EN

Stack Overflow用户
提问于 2018-10-25 10:22:27
回答 1查看 42关注 0票数 1

我有一个问题,在闪亮,我将在一个简单的例子:

我有以下数据:

代码语言:javascript
复制
Group<-c("A","A","B","C","C","D")
Value<-c(1,2,6,7,3,9)

df<-data.frame(Group, Value)

  Group Value 
     A     1   
     A     2   
     B     6   
     C     7   
     C     3   
     D     9   

然后添加一行,查看一个组有多少代表:

代码语言:javascript
复制
df$num <- ave(df$Value, df$Group,  FUN = seq_along)

  Group Value num
     A     1   1
     A     2   2
     B     6   1
     C     7   1
     C     3   2
     D     9   1

现在,我想检查这个组是否包含第二个代表,如果不是,复制组的第一行(包含num=1)并将num设置为2。

代码语言:javascript
复制
  Group Value num
     A     1   1
     A     2   2
     B     6   1
     B     6   2 #this row is added
     C     7   1
     C     3   2
     D     9   1
     D     9   2 #this row is added

我曾试图寻找解决方案,但我最终的结果主要是主题,比如一个条件,即based on a certain value,而不是一个组内的条件。

有人能帮我吗?我会非常感激的!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-25 14:01:15

这段代码能起作用吗?

代码语言:javascript
复制
res <- lapply(unique(df$Group), function(x){
  a <- df[df$Group == x, ]
  if(nrow(a) == 1) {
    a <- a[rep(row.names(a), 2), ]
    a$num <- c(1:2)
  }
  a
})
do.call(rbind, res)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52986974

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档