获取r中向量的相对频率值

时间:2013-06-30 03:45:14

标签: r

我有一个名为'train'的数据框,看起来像

ID ResourceID
1  237
2  237
3  1845
4  739
.  .
.  .
.  .

如何获取特定资源的相对频率?

2 个答案:

答案 0 :(得分:7)

您应该查看prop.table。这是一个简单的例子:

# Your sample data
mydf <- structure(list(ID = 1:4, ResourceID = c(237L, 237L, 1845L, 739L)), 
                  .Names = c("ID", "ResourceID"), class = "data.frame", 
                  row.names = c(NA, -4L))
mydf
#   ID ResourceID
# 1  1        237
# 2  2        237
# 3  3       1845
# 4  4        739
prop.table(table(mydf$ResourceID))
# 
#  237  739 1845 
# 0.50 0.25 0.25 

答案 1 :(得分:3)

table()函数会提供频率,因此table(train$ResourceID)会为您的资源提供频率。要获得相对频率,您可以将其除以案例总数,如下所示:table(train$ResourceID)/nrow(train)

琐碎的例子:

> table(train$label)

 one zero 
 510  490 
> table(train$label)/nrow(train)

 one zero 
0.51 0.49