2015-04-06 68 views
-1

我有一个需求点lat-lon数据集及其出现频率。根据频率,我需要复制这些值并将它们合并成一个具有两列的大矩阵,即长和长。 (为了更清楚)重复值,然后合并到R上的整个矩阵?

我在这里上传到Dropbox的相关CSV数据:

https://www.dropbox.com/s/0vwmrym2e9xdo6u/input1.csv?dl=0

我在R和MS Excel中试过这个。但是,这是无济于事。

预先感谢您。

Metalxenophobe

+0

非常感谢。 :-) – surajvissa

回答

1

下面是使用rep做到这一点的方法之一。首先,下载数据:

url <- "https://www.dropbox.com/s/0vwmrym2e9xdo6u/input1.csv?dl=1" 
download.file(url, destfile = fn <- file.path(tempdir(), sub("(.*)\\?.*", "\\1", basename(url)))) # d/l 

然后对其进行处理:

df <- read.csv(fn) # read file 
dfnew <- df[rep(1:nrow(df), df$Repeat), -1] # duplicate rows, omit 1st col 
write.csv(dfnew, "output1.csv") # write file 
+1

这就是我在[我的“SOfun”包中的[expandRows'函数](https://github.com/mrdwab/SOfun/blob/master/R/expandRows.R)(https ://github.com/mrdwab/SOfun)。所以,在这种情况下,它将是:'library(SOfun); expandRows(df,“重复”)+1 :-) – A5C1D2H2I1M1N2O1R2T1

+0

非常感谢!:-) – surajvissa