2013-10-09 43 views
1

夥計們, 今天我加入這個社區,我作爲R 使用循環有問題我的樣本數據集如下: -如何使用環R中的大數據集

Roll No  Marks 
    1   60 
    2   78 
    3   84 

我想要在該數據集中添加一列來計算學生的成績。例如,如果分數大於90,則A,70-90,B,小於70c。 我希望我出來爲: -

Roll No  Marks  Grade 
    1   60  C 
    2   78  B 
    3   84  B 

是否有可能使用循環來做到這一點。在R,因爲我有數據

任何幫助將高度讚賞

+0

看看'cut'函數。 – A5C1D2H2I1M1N2O1R2T1

+0

@ Ananda-我可以使用它來處理6萬個數據集 –

+2

嗯。爲什麼不? 60K值並不多。 – A5C1D2H2I1M1N2O1R2T1

回答

1

約60000這裏有一個解決方案使用ifelse,儘管使用@Ananda建議的cut可能會更好

> transform(df, Grade= ifelse(Marks>90, "A", 
           ifelse(Marks>=70 & Marks <=90, "B", "C"))) 
    Roll_No Marks Grade 
1  1 60  C 
2  2 78  B 
3  3 84  B 
+0

@ R.R轉換(df,Grade = cut(Marks,c(0,70,90,100),c(「C」,「B」,「A」)))'如果你想試試它。此外,非常慷慨的分級規模。 –

相關問題