2015-06-30 52 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