2013-03-27 105 views
-1

我想以r格式存儲數據。 R中是否有可用的軟件包? 數據樣本:以樹格式存儲數據R

lat lon ,v1,v2,v3,parent,id 
23.9917345,90.4195876,83,3,0,0,1 

這裏父列代表當前行的父ID

+1

你的問題就沒有意義了我。這種「樹形格式」在您嘗試在R中複製的另一種語言中是否共同?根據你顯示的實際數據,'data.frame()'對我來說是合乎邏輯的選擇,但也許有一些我錯過了。 – Chase 2013-03-27 17:54:39

+1

我的意思是樹數據結構。 – 2013-03-27 17:58:34

+0

是的,這可能是(也許只是我的問題)......什麼是「樹數據結構」?什麼性質使「樹數據結構」與R中的其他本地數據結構不同? [這裏](http://www.stat.auckland.ac.nz/~paul/ItDT/HTML/node64.html)是它們的列表。 – Chase 2013-03-27 18:01:03

回答

3

您可以找到兒童不與aggregate(id, by=list(parent=parent), paste, collapse=" ")循環:

例子:

> n <- 30; d <- data.frame(parent=sample(n,n,TRUE), id=1:n, value=runif(n)) 
> children <- with(d, aggregate(id, by=list(parent=parent), paste, collapse=" ")) 
> children 
    parent  x 
1  2  24 
2  3 12 20 28 
3  4  5 
4  7 8 17 18 
5  8  29 

(剪下)

現在你可以合併,在原始數據集與此:

> names(children) <- c("id", "children") 
> merge(d, children, all.x=TRUE) 
    id parent  value children 
1 1  13 0.319805784  <NA> 
2 2  24 0.847229065  24 
3 3  21 0.946230816 12 20 28 
4 4  12 0.915684833  5 
5 5  4 0.754628841  <NA> 

(剪斷)