如何将table()和prop.table()设置为新数据框中的列?

时间:2017-11-26 18:42:05

标签: r

我是R的新手,我正在使用成绩分布数据集,其中有一个名为" Grade"包含类的所有字母等级(列在主数据框中称为" Stat322")。因此,Stat322 $ Grade看起来像' A +',' A - ',' A',' A',&# 39; B',' B - ',' B - '等

我一直在尝试做的是创建一个包含3列的新数据框,名为" Grade"," Freq"和" Prop" (后两者是频率,Stat322 $ Grade的比例)。我做的是

freq <- table(Stat322$Grade)
prop <- prop.table(freq)
newDataFrame <- data.frame <- ("Grade" = c(grade names, A+, A, A-, ...,), 
"Frequency" = freq, "Proportion" = prop)

但似乎freqprop已经将等级名称作为列包含,并且列名和数据表看起来非常混乱,其中列名称为Grade,Freq.Var1 ,Freq.Freq,Prop.Var1,Prop.Freq,5列中的3列是等级名称的重复。

如何从freq,prop中提取数值,并使用正确的列名将其添加到我的新数据框?谢谢,感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您可以按以下方式提取列

freq <- as.vector(table(Stat322$Grade)) prop <- as.vector(prop.table(freq))

然后您可以通过以下方式创建新的数据框

newDataFrame <- data.frame("Grade" = c("A+", "A", "A-","B","B+","A",...), "Frequency" = freq, "Proportion" = prop)