R 基于条件计数频率的数据框添加列
我有这样的数据帧R 基于条件计数频率的数据框添加列,r,dataframe,counter,frequency,R,Dataframe,Counter,Frequency,我有这样的数据帧 #dt # a b c #1: a 1 d #2: a 1 d #3: b 0 b #4: b 1 d #5: b 0 b 我想得到的是列T,每行的行数都有计数器,符合如下条件:b=1和c=d #dt # a b c counter #1: a 1 d 2 #2: a 1 d 2 #3: b 0 d 1 #4: b 1 d 1 #5: b 0 b 0 有什么办法吗?试试这个: library(dplyr) dt = data.frame(a = c("a","a"
#dt
# a b c
#1: a 1 d
#2: a 1 d
#3: b 0 b
#4: b 1 d
#5: b 0 b
我想得到的是列T,每行的行数都有计数器,符合如下条件:b=1和c=d
#dt
# a b c counter
#1: a 1 d 2
#2: a 1 d 2
#3: b 0 d 1
#4: b 1 d 1
#5: b 0 b 0
有什么办法吗?试试这个:
library(dplyr)
dt = data.frame(a = c("a","a","b","b","b"),
b= c(1,1,0,1,0),
c = c("d","d","b","d","b"))
dt <- dt %>%
mutate(counter = (b == 1) +( c == "d") )
库(dplyr)
dt=数据帧(a=c(“a”、“a”、“b”、“b”),
b=c(1,1,0,1,0),
c=c(“d”、“d”、“b”、“d”、“b”))
dt%
变异(计数器=(b==1)+(c==“d”))
我使用了@FALL-Gora-answer
dt %>% mutate(counter = as.numeric(((b == 1) & ( c == "d"))))
但我补充说
dt %>% group_by(a) %>% mutate(counter1=sum(counter))
它现在可以工作了数据帧中的所有行是否都适用相同的条件,或者某些行/所有行是否可能存在不同的条件?是否要为每个
a
计算计数器
<代码>df%>%分组依据(a)%>%变异(计数器=总和(b==1&c==d'))?最后一个值0应该是1吗?条件相同,但groupby会改变df的大小,不是吗?我只需要为每一行添加新列OK..检查c
列的输入和输出,它们是不同的。类似于这样,但对于a列中的b值,它给出了2,如何改进它,应该只有1如果您希望两个条件都验证为一的行,请尝试以下操作:``dt%mutate(计数器=作为数字((b==1)和(c==d)))```