计算大于另一个日期的日期数-R
我不知道从哪里开始,但我尝试的是根据另一个值在另一列中表示的次数创建一个新值 比如说计算大于另一个日期的日期数-R,r,dplyr,R,Dplyr,我不知道从哪里开始,但我尝试的是根据另一个值在另一列中表示的次数创建一个新值 比如说 # Existing Data key newcol a ? a ? a ? b ? b ? c ? c ? c ? 希望输出看起来像 key newcol a 3 a 3 a 3 b 2 b 2 c 3 c 3 c 3 谢谢 这可以通过如下方式使用doBy包实现: require(doBy) #original data frame df
# Existing Data
key newcol
a ?
a ?
a ?
b ?
b ?
c ?
c ?
c ?
希望输出看起来像
key newcol
a 3
a 3
a 3
b 2
b 2
c 3
c 3
c 3
谢谢 这可以通过如下方式使用
doBy
包实现:
require(doBy)
#original data frame
df <- data.frame(key = c('a', 'a', 'a', 'b', 'b', 'c', 'c', 'c'))
#add counter
df$count <- 1
#use summaryBy to count number of instances of key
counts <- summaryBy(count ~ key, data = df, FUN = sum, var.names = 'newcol', keep.names = TRUE)
#merge counts into original data frame
df <- merge(df, counts, by = 'key', all.x = TRUE)
如果
key
是一个类似键的向量,你应该阅读一些介绍性材料并展示你的尝试。你需要知道的一切都在。如果你尝试了几件事,但都不管用,我们可以帮助你解决问题。问题标题与你向落选者提出的问题无关,请提供反馈。为什么我投了反对票?
> df
key count newcol
1 a 1 3
2 a 1 3
3 a 1 3
4 b 1 2
5 b 1 2
6 c 1 3
7 c 1 3
8 c 1 3
> N <- table(key)
> data.frame(key, newcol=rep(N,N))
key newcol
1 a 3
2 a 3
3 a 3
4 b 2
5 b 2
6 c 3
7 c 3
8 c 3
key.df <- data.frame(key = rep(letters[1:3], c(3, 2, 3)))
N <- table(key.df$key)
data.frame(key=key.df, newcol=rep(N, N))