[問題] 數據重新分組
[問題類型]:
程式諮詢
其實也是作業,只是遇到瓶頸,想求救
[軟體熟悉度]:
超級新手
[問題敘述]:
需要將50000筆隨機的分數重新分組成(0級分-5級分)
set.seed(15)
x<-runif(50000,min=0,max=100)
這是題目
[程式範例]:
我自己的想法是這樣
for(i in 1:length(x))
{
if((x[i]>=0)&(x[i]<=59))
{print("0")
}else if ((x[i]>=60)&(x[i]<=69))
{print("1")
}else if ((x[i]>=70)&(x[i]<=79))
{print("2")
}else if ((x[i]>=80)&(x[i]<=84))
{print("3")
}else if ((x[i]>=85)&(x[i]<=89))
{print("4")
}else if ((x[i]>=90)&(x[i]<=100))
{print("5")}
}
這樣跑下去,
的確會重新將每個數字重新分類,
但有沒有語法是能夠幫助我統計
0級分有幾個、1級分有幾個,
我試過length("0"),但應該是錯誤的...
先謝謝各位大大了。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.230.228.206
※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1522912297.A.FC5.html
→
04/05 16:07,
7年前
, 1F
04/05 16:07, 1F
→
04/05 16:07,
7年前
, 2F
04/05 16:07, 2F
推
04/05 18:20,
7年前
, 3F
04/05 18:20, 3F
→
04/05 20:21,
7年前
, 4F
04/05 20:21, 4F
謝謝大大的提示,
我試著用
table(cut(x,c(0,60,70,80,85,90,100),c(0,1,2,3,4,5)))
來跑,
果然簡潔很多,
但我有個疑問,
就是在分數的區間裡面,
我們本來是定義0-59為0級分,
60-69為1級分,
70-79為2級分,
80-84為3級分,
85-89為4級分,
90-100為5級分。
但用cut的話,
就會變成0-60為0,
60-70為1,
那這個重疊的60分系統會怎麼判斷呢?
因為我把次數分配表加起來也沒有剛好50000筆資料,
請問是正常的嗎?
謝謝大大們
※ 編輯: omit18 (36.230.226.248), 04/08/2018 21:59:51
→
04/08 22:57,
7年前
, 5F
04/08 22:57, 5F
→
04/08 22:57,
7年前
, 6F
04/08 22:57, 6F
→
04/08 23:01,
7年前
, 7F
04/08 23:01, 7F
R_Language 近期熱門文章
PTT數位生活區 即時熱門文章