我当然希望我清楚地提出我的问题。所以,我试图在 R 中拆分某个 df。这是一个很大的 df,您可以在下面看到(缩短的)结构。
'data.frame':36993 obs。n 个变量:
$ klasse : num 1 1 1 1 1 1 1 1 1 1 ...
$ Start_time: chr "23:56:09.000" "23:56:09.000" "23:56:09.000" "23:56 :09.000" ...
$ Start_date: 日期,格式:"2013-08-31" "2013-08-31" "2013-08-31" "2013-08-31" ...
$ Milk : num 23.5 23.5 23.5 23.5 23.5 23.5 23.5 23.5 23.5 23.5 ...
$ duur_visit: 数量 1048 1048 1048 1048 1048 ...
现在,我要做的是将 df 拆分为 df$klasse 中 120 个观察值的一部分,其中包含 39 个不同长度的不同元素(例如 1 = 1048 obs,2 = 239 obs 等)。此外,我想对这些组进行编号,对于 df$klasse 的每个新元素,它们每次都从 1 开始。
我是一个菜鸟,我得到的最远的结果是发现我可能不得不使用包 stringr,但是,我不确定。或者使用函数split,结合lapply。关于拆分和分组变量的主题有很多信息,我迷路了。如果有人可以帮助我,或者在正确的方向上轻推我,我将不胜感激。
编辑
@shadow 的代码似乎在正确的方向上,但它在我的数据集“超出”120 个观察值的地方切断了我的数据集。所以,我将尝试举例说明我想要完成的事情:
> within df
klasse grp Start_time
1 1 2013-08-31 02:54:35.000
1 1 2013-08-31 02:54:35.000
1 2 2013-08-31 02:54:35.000
1 2 2013-08-31 02:54:35.000
1 3 2013-08-31 02:54:35.000
2 1 2013-08-31 08:36:13.000
2 1 2013-08-31 08:36:13.000
2 2 2013-08-31 08:36:13.000
2 2 2013-08-31 08:36:13.000
2 3 2013-08-31 08:36:13.000
2 3 2013-08-31 08:36:13.000
2 4 2013-08-31 08:36:13.000
3 1 2013-09-01 15:01:40.000
3 1 2013-09-01 15:01:40.000
4 1 2013-09-01 23:51:54.000
当然,我将其缩短为每组只有 2 个数字,否则它会变得很大,但实际上在组列中,我希望组的最大120 倍于数字 1、2 等。我希望我清除它一点?
编辑 2
是的,我今天早上再次运行它,@shadow 的解决方案运行良好!我不知道我昨天做错了什么。