這個問題是關係到這個帖子give each id the same column value R而是根據解決方案的第一次約會有沒有爲我工作。採摘每個單獨的R
我有一個數據表,其中指數是第一次約會,一個人得到了藥物C10。*?在2010-04-01和2010-09-30之間的時期:
names drugs dates index
1: mary C10AA07 2009-10-01 NA
2: mary C09AA03 2010-06-01 NA
3: mary C10AA07 2010-07-01 2010-07-01
4: mary A02BC01 2010-07-01 NA
5: mary C10AA07 2010-07-24 2010-07-01
6: tom C10AA05 2009-12-01 NA
7: tom C10AA05 2010-04-06 2010-04-06
8: tom C07AB03 2010-05-12 NA
9: tom C10AA05 2010-08-01 2010-04-06
,我想給她瑪麗指標數據在列「索引」的所有行。和湯姆一樣。所以輸出是這樣的:
names drugs dates index
1: mary C10AA07 2009-10-01 2010-07-01
2: mary C09AA03 2010-06-01 2010-07-01
3: mary C10AA07 2010-07-01 2010-07-01
4: mary A02BC01 2010-07-01 2010-07-01
5: mary C10AA07 2010-07-24 2010-07-01
6: tom C10AA05 2009-12-01 2010-04-06
7: tom C10AA05 2010-04-06 2010-04-06
8: tom C07AB03 2010-05-12 2010-04-06
9: tom C10AA05 2010-08-01 2010-04-06
這正是問題是在上面的鏈接張貼。這些都是我以前用過的代碼行,但每個代碼給我收拾剛纔的所有NA爲索引值,否則並沒有改變我的DT2
嘗試1:
dt2[, index := index[grepl('^C10.*?', as.character(dt2$drugs))& dt2$dates>="2010-04-01" & dt2$dates<"2010-10-01"][1], by = names]
dt2
嘗試2:
dt2[, index := index[grepl('^C10.*?', as.character(dt2$drugs))[1], by = names])
dt2
我無法理解發生了什麼,代碼爲什麼不起作用。如果任何人都可以擺脫這一點,這將是偉大的。謝謝。
嘗試3:
dt2[, index := index[drugs == 'C10AA05' & drugs=='C10AA07'][1], by = names]
dt2
嘗試'dt2 [,sapply(.SD,class)]',您會得到什麼? –
日期和索引都設置爲日期。名稱藥物日期索引 「因素」「因素」「日期」「日期」 – user2363642