R语言 用比例和百分比扩展权重表

R语言 用比例和百分比扩展权重表

R编程语言中的data.table可以用来存储不同的单元格,这些单元格中的值都属于一组相似的组或互斥的组。变量对其组的计数可以用R语言中的基本方法和外部包来计算。

在R中创建或然率或频率表

R中的table()方法被用来计算出现在数据框架指定列中的变量的频率计数。结果以两行表格结构的形式返回,其中第一行表示该列的值,接下来表示其相应的频率。table()函数也有助于创建带有条件和交叉分析的频率表。table()方法适用于data.table对象,并返回指定列值的唯一组合以及它们各自的频率计数。

语法

table (x),

其中x是data.table对象

如果x是一个数据框架,可以使用以下方法构建频率表。

语法

table (data_frame$col-name)

例子

library("data.table")
  
set.seed(1)  
  
# creating a data frame
data_table <- data.table(col1 =  sample(letters[1:3], 8, replace = TRUE) ,
                         col2 = sample(1:6, 8, replace = TRUE)
                        )
  
print ("Original DataFrame")
print (data_table)
  
# calculating frequency
freq <- table(data_table$col1)
print ("Frequency")
print (freq)

输出

[1] "Original DataFrame" 
col1 col2 
1:    a    2 
2:    c    3 
3:    a    3 
4:    b    1 
5:    a    5 
6:    c    5 
7:    c    2 
8:    b    6 
[1] "Frequency"
a b c  
3 2 3 

创建频率表的比例

相对频率也被称为概率分布,是相应数值的频率除以元素总数。这可以通过prop.table()方法来计算,该方法应用于从前面的方法中获得的频率表。它指的是比例,因为它返回每个成分在总成分数中的比例。

语法

prop.table(frq-table)

frq-table/总观测值

算比例表的正确语法如下。

prop.table(table(df$col-name))

例子

library("data.table")
  
set.seed(1)  
  
# creating a data frame
data_table <- data.table(col1 =  sample(letters[1:3], 8, replace = TRUE) ,
                         col2 = sample(1:6, 8, replace = TRUE)
                        )
  
print ("Original DataFrame")
print (data_table)
  
# calculating frequency
freq <- table(data_table$col1)
  
# creating proportions 
prop <- prop.table(freq)
print ("Proportions of column1")
print (prop)

输出

[1] "Original DataFrame"  
col1 col2
1:    a    2
2:    c    3
3:    a    3
4:    b    1
5:    a    5
6:    c    5
7:    c    2
8:    b    6
[1] "Proportions of column1"
a     b     c  
0.375 0.250 0.375

创建频率表的百分比

百分比可以通过将概率表的每个相应单元元素乘以100来计算。为了提高可读性,可以使用round()方法将结果四舍五入到任何位数。

语法

Round (num , digits)

可以对比例表进行四舍五入,通过将每个单元格的值乘以100来计算百分比。其结果是与输入格式相同的 data.table 或 vector。

例子

library("data.table")
set.seed(1)  
  
# creating a data frame
data_table <- data.table(col1 =  sample(letters[1:3], 8, replace = TRUE) ,
                         col2 = sample(1:6, 8, replace = TRUE)
                        )
  
print ("Original DataFrame")
print (data_table)
  
# calculating frequency
freq <- table(data_table$col1)
  
# creating proportions 
prop <- prop.table(freq)
  
print ("Percentage of column1")
perc <- round((prop * 100),2)
print (perc)

输出

[1] "Original DataFrame"  
col1 col2 
1:    a    2 
2:    c    3 
3:    a    3 
4:    b    1 
5:    a    5 
6:    c    5 
7:    c    2 
8:    b    6 
[1] "Percentage of column1"  
a    b    c  
37.5 25.0 37.5 

使用多列计算频率、比例和百分比

table()方法可以用来指定多列参数,其中唯一的组合与它们各自的计数一起被计算出来。

例子

library("data.table")
set.seed(1)  
  
# creating a data frame
data_table <- data.table(col1 =  sample(letters[1:3], 8, replace = TRUE) ,
                         col2 =  sample(1:2, 8, replace = TRUE)
                        )
  
print ("Original DataFrame")
print (data_table)
  
# calculating frequency
freq <- table(data_tablecol1,data_tablecol2)
  
# creating proportions 
prop <- prop.table(freq)
print ("Proportions of column1")
print (prop)
  
print ("Percentage of column1")
perc <- round((prop * 100),2)
print (perc)

输出

[1] "Original DataFrame" 
   col1 col2 
1:    a    2 
2:    c    1 
3:    a    1 
4:    b    1 
5:    a    1 
6:    c    1 
7:    c    2 
8:    b    2 
[1] "Proportions of column1" 
      1     2   
a 0.250 0.125   
b 0.125 0.125   
c 0.250 0.125
[1] "Percentage of column1" 
     1    2   
a 25.0 12.5   
b 12.5 12.5   
c 25.0 12.5

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程