2015-04-06 75 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