2016-11-28 67 views
-4

我對R來說很新,這對於找到一種方法來做到這一點很有幫助。R - 子集列表

我有一個值列表(只有一列和大約16000個值),我必須將這個列表分成1000個值的小包。然後將每個列表保存爲一個csv文件。 有沒有辦法做到這一點是R?

謝謝你在前進, Dgupta

+0

請將您的問題成更小的問題:(1)分段列表(2)上循環的結果或可能應用一個函數到每個鏈段(3)寫入段爲.csv(在循環或應用函數中)。每個這些子問題的答案已經很容易在StackOverflow上找到。 – johnjps111

+0

@Dasgupta你可以添加一個數據樣本以使其可重現嗎? – heyydrien

回答

0

您可以通過在向量索引使用冒號分割矢量起來。例如:

> x <- c(10,20,30,40) 
> x[1:2] 

[1] 10 20 

然後你可以使用write.csv()函數寫一個向量爲csv。解決這個問題的一種方法是編寫循環,每次從vector中獲取1000個項目,並將其寫入csv。

1

像這樣:

data <- as.data.frame(list) 
    groups <- split(1:nrow(data), ceiling(seq_along(1:nrow(data)/1000)) 
    for (i in 1:length(groups)){write.csv(data[groups[1,],file=paste(i,'csv'))}