繁体   English   中英

在R中将主题附加到数据框

[英]Appending a tally of subjects to a dataframe in R

我有一个主题列表:

myDat = list(Subject = c(10234, 10234, 10234, 10234, 10242, 10242, 10242, 10242, 10253, 10253, 10253, 10268, 10268, 10268, 10268))

我想添加一个计数( DayNo ),该计数随数据帧的每一次更改而重新开始,如下所示:

计数科目

提前致谢

使用rle获取游程长度,并使用sequence创建相应长度的序列。

myDat <- as.data.frame(myDat)
myDat$DayNo <- sequence(rle(myDat$Subject)$lengths)
#    Subject DayNo
# 1    10234     1
# 2    10234     2
# 3    10234     3
# 4    10234     4
# 5    10242     1
# 6    10242     2
# 7    10242     3
# 8    10242     4
# 9    10253     1
# 10   10253     2
# 11   10253     3
# 12   10268     1
# 13   10268     2
# 14   10268     3
# 15   10268     4

ave变体:

df <- as.data.frame(myDat)
df$Day <- ave(df$Subject, df$Subject, FUN=seq_along)

生产:

   Subject Day
1    10234   1
2    10234   2
3    10234   3
4    10234   4
5    10242   1
6    10242   2
7    10242   3
8    10242   4
9    10253   1
10   10253   2
11   10253   3
12   10268   1
13   10268   2
14   10268   3
15   10268   4

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM