【发布时间】:2015-06-30 01:14:46
【问题描述】:
希望将唯一 id 的数量和每个 id 的时间段输出到 .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
感谢任何建议。谢谢。
【问题讨论】:
-
欢迎任何可重现的例子。
-
dplyr 有
n_distinct。 data.table 有uniqueN。我认为这个问题不应该用data.table标记,虽然......似乎与问题的内容无关 -
为什么不直接使用 T_max 和 N_max,w/o rep?
-
我收到一个错误,没有代表。表示代码中有一个意外的“,”。
标签: r write.table