2015-06-30 81 views
1

尋找到輸出的每個ID唯一id和時間段的數量爲.txt文件的單個最大值。輸出.txt文件與兩個矢量

現在我有:

#Store N and T_Max (ie. Maximum number of periods per individual) 
library(plyr) 
mydata$id <- as.numeric(as.factor(mydata$ncountry)) 
N_max <- max(mydata$id) 
mydata$count<-do.call(c, lapply(unique(mydata$id), function(curf){ 
seq(sum(mydata$id==curf)) 
})) 
T_max <- max(mydata$count) 
mydata$T_max <- rep(T_max,nrow(mydata)) # make new column 
mydata$N_max <- rep(N_max,nrow(mydata)) # make new column 
myvars1 <- c("T_max","N_max") 
unique(myvars1) 
newdata1 <- mydata[myvars1] 
write.table(newdata1, "NT_input.txt", col.names=FALSE, row.names=FALSE, sep=" ") 

其中給出.txt文件的以下樣式:

194 15 
194 15 
194 15 
194 15 
. 
. 
. 

我只想輸出的單排,即:

194 15 

任何意見表示讚賞。謝謝。

+3

任何重複的例子,是值得歡迎的。 –

+1

'unique(newdata1)'? – Molx

+1

dplyr有'n_distinct'。 data.table具有'uniqueN'。我不認爲這個問題應該用'data.table'來標記,儘管...似乎與問題 – Frank

回答

1

你沒有把獨特的數據,你可以試試這個
uniquedata = unique(myvars1) newdata1 <- mydata[uniquedata] ,現在你可以 write.table(newdata1, "NT_input.txt", col.names=FALSE, row.names=FALSE, sep=" ") 這應該工作

+0

嘗試使用該代碼,仍然無法正常工作。我需要刪除我以前的任何代碼嗎? – JBRA

+0

不管上面的評論,代碼工作完美!謝謝! – JBRA