2013-05-20 47 views
-1

有中的R數據,對象是:如何在R中創建表?

> y 
[0,1000) [1000,1500) [1500,2000) [2000,2500) [2500,3000) [3000,3500) [3500,5000] 
    13   44   29   16   9   3   5 
> attributes(y) 
$dim 
[1] 7 
$dimnames 
$dimnames[[1]] 
[1] "[0,1000)" "[1000,1500)" "[1500,2000)" "[2000,2500)" "[2500,3000)" "[3000,3500)" "[3500,5000]" 
$class 
[1] "table" 

如果我想產生它,我怎樣才能板條箱的表如R中y
如果沒有矢量,我想創建一個y,不要使用table(cut(some_vector)),
我想直接創建它,而不是根據table(cut(some_vector))

我已經解決了它,它可以簡單嗎?

y<-c(13,44,29,16,9,3,5) 
names(y)<-c("[0,1000)","[1000,1500)","[1500,2000)","[2000,2500)","[2500,3000)"," [3000,3500)","[3500,5000]") 
as.table(y)->z 

z是我想要的。

+1

'?cut'是likly你追求的。或明確地說,'table(cut(some_vector))' –

+0

這是什麼意思「直接創建它」你想手動輸入它嗎?就在前面'y < - ....' –

回答

0

read.table是你的朋友。使用text=..參數


nms <- read.table(text="[0,1000) [1000,1500) [1500,2000) [2000,2500) [2500,3000) [3000,3500) [3500,5000]", stringsAsFactors=FALSE) 
y <- read.table(text="  13   44   29   16   9   3   5 ", stringsAsFactors=FALSE) 

y <- as.table(as.numeric(unlist(y))) 
dimnames(y) <- list(nms) 

> attributes(y) 
$dim 
[1] 7 

$dimnames 
$dimnames[[1]] 
[1] "[0,1000)" "[1000,1500)" "[1500,2000)" "[2000,2500)" "[2500,3000)" "[3000,3500)" 
[7] "[3500,5000]" 


$class 
[1] "table"