我有一個因子與表示時間間隔(如由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
你是怎麼解決這個問題的?有沒有比我建議的更簡單的方法? –