2017-10-17 94 views
0

在Excel中,我可以讓該組的列和計數,但IAM無法做到在R.找到100的範圍和他們的計數之間的數值

對於R中做我使用剪切功能有一些休息。

cut(elapsed, breaks=seq(min(elapsed),max(elapsed)+100,50), include.lowest=T) 

這裏我附上了數據的png和所需的輸出。 但上面的代碼沒有給我需要的輸出。

這是我的數據

input data

和我需要的輸出:

400  9 
500  4 
600  2 
700  5 
800  3 
900  3 
+4

你'cut',你需要在聚合後某種方式。 'table'在這裏最有意義。 – A5C1D2H2I1M1N2O1R2T1

+0

爲了讓您的示例具有可重現性,請在問題摘要中共享'dput(elapsed)'的輸出。我同意@ A5C1D2H2I1M1N2O1R2T1,你需要在使用'cut'後使用'table'功能。 – TUSHAr

回答

5

這應該工作:

data.frame(table(elapsed %/% 100)) 

例如:

elapsed <- c(400, 423, 423, 534, 534, 639, 602, 812, 703) 
data.frame(table(elapsed %/% 100)) 
    Var1 Freq 
1 4 3 
2 5 2 
3 6 2 
4 7 1 
5 8 1 

對於所需的結果,數百名使用此:

res <- data.frame(table(elapsed %/% 100)) 
res$Var1 <- as.numeric(res$Var1) * 100 
+0

@ user7462639這是否行之有效? – PoGibas

+0

@ PoGibas嗨,它不滿足我的完整要求,但這給了一些idea.where我犯了錯誤。我嘗試以不同的方式使用ggplot2。我不知道它是否正確的過程或不.'ggplot_build(ggplot()+ aes (elapsed)+ geom_histogram(binwidth = 100))$ data [1] [[1]] [,c(2:3)]。代碼完全符合我的要求。 – user7462639

+0

而且我的數據每次都會動態變化,因爲我應該調整間隔**(100到10,000)。**並計算間隔中有多少個值。你能給出任何想法,我如何改變基於動態數據的時間間隔。 Thankyou – user7462639

2

你可以試試:

require(magrittr) 

elapsed <- runif(100, 400, 1000) %>% round 

cut(elapsed, breaks = seq(400,1000,100), 
    labels = as.character(seq(400,900,100)), 
    include.lowest=TRUE) %>% table 

爲您提供:

400 500 600 700 800 900 
15 22 16 9 20 18 
+3

此答案中沒有使用'plyr'函數。你可以爲管道加載'magrittr',(或者'dplyr',我想不太直接)。對於newby問題,我會建議不要使用管道或解釋它是什麼。 (並解釋說這不是絕對必要的。) – Gregor