首页 > 解决方案 > 如何计算具有特定条件的文本值

问题描述

我有一个包含相同值的数据集。请找到以下数据集,

Parent
Child
Child
Child
Parent
Child
Child
Parent
Child
Child
Child
Child
Child
Child
Child
Child
Child
Child

我必须计算每个父母的成员。这意味着,第一个父母的成员是 4,第二个父母的成员是 3 等等。

我已经通过以下公式在 excel 上完成了此操作,

=IFERROR(IF(B6="Parent",INDEX(MATCH("Parent",B7:B$23,0),1),""),COUNTA(B7:B$23)+1)`

现在,我想在 R 上实现这个目标。

我写了以下代码

abc <- ifelse(ifelse(balor$Parent=="Parent", match("Parent",balor$Parent),""), count(balor,"Parent"))

但是,结果一无所获。

你能给我一些关于这个问题的提示吗?

任何建议都是非常可观的。

代码:

library(readr)
setwd("E:\\Buisness Analytics\\R\\PRACTISE")

balor <- read.csv("PersonalDeal-20180403083521.csv")

balor <- balor[,-1]
colnames(balor)[colnames(balor)=="Parent.Child"] <- "Parent"

library(plyr)

abc <-ifelse(ifelse(balor$Parent=="Parent",match("Parent",balor$Parent),""),count(balor,"Parent"))

head(abc)
# [1] NA NA NA NA NA NA

标签: rdplyrplyr

解决方案


推荐阅读