我有一个因子与表示时间间隔(如由cut
产生)水平现有间隔新数据:滨根据给定为因子水平
> head(data.train$glucose)
[1] [0,126] [0,126] (126,199] [0,126] [0,126] [0,126]
Levels: [0,126] (126,199]
现在我想生成与来自相同水平的新的因素一个数字矢量,以便当相应数量落入第一个时间间隔(例如24)时,变为[0,126]
,并且如果它落入第二个时间间隔(例如153),则变成(126,199]
。
间隔的数量可以不同,方括号的形式也可以不同(取决于它们是打开还是关闭间隔)。
我认为我可以使用sub
与cut
一起使用(如cut
的帮助文件的最后一个示例中所示),但我不是很擅长使其足够普遍。还有另一种更直观的方式吗?但是也许我现在想的太复杂了......
如果你用sub
解决方案,请解释表达式。也请不要提供来自其他软件包的功能的解决方案,因为我正在自己开发一个软件包,我希望尽可能保持精简。
@JasonAizkalns:这看起来比以前想象的更复杂 - 请看我对你的答案的评论。 – vonjd
[this]怎么样?(http://stackoverflow.com/a/19689542) – JasonAizkalns
你是怎么解决这个问题的?有没有比我建议的更简单的方法? –