R语言 数据框中基于列值的行数之和

R语言 数据框中基于列值的行数之和

在这篇文章中,我们将讨论如何在R编程语言中根据数据框中的列值求出行的值。假设你有一个这样的数据框。

ID 水果 商店_1 商店_2
1. 苹果 1 13
2. 芒果 9 5
3. 草莓 2 14
4. 苹果 10 6
5. 苹果公司 3 15
6. 草莓 11 7
7. 芒果 4 16
8. 草莓 12 8

这个数据集由水果名称和商店_1、商店_2作为列名组成。这里shop_1和shop_2显示了商店里的水果数量。现在你想找到shope_1中所有具有相同水果值的行的总和。所以我们的数据集看起来像这样。

ID 水果 shop_1 商店_2
1. 苹果 14 34
2. 芒果 13 21
3. 草莓 25 29

方法1:使用聚合函数

聚合函数创建原始数据的一个子集,并计算每个子集的统计函数,然后返回结果。

语法

aggregate(.~fruit,data=df,FUN=sum)

例子

# Sum of rows based on column values
  
# Creating dataset 
# creating fuits column
x <- c("Apple","Mango","Strawberry",
       "Apple","Apple","Strawberry",
       "Mango","Strawberry")
  
# creating shop_1 column
y <- c(1,9,2,10,3,11,4,12)
  
# creating shop_2 column
z <- c(13,5,14,6,15,7,16,8)
  
# creating dataframe
df <- data.frame(fruits=x,shop_1=y,shop_2=z)
  
# applying aggregate function
aggregate(.~fruits,data=df,FUN=sum)
R

输出

在R数据框中基于列值的行数之和

使用聚合函数

方法2:使用ddply和numcolwise函数

ddply 简单地分割给定的数据框,并对其进行pe r 形式的任何操作(可能应用一个函数),然后返回数据框。

colwise 是来自 著名的 plyr 包的一个函数。colwise function是用来计算数据 框架中每一列的函数,它是按列计算的。

例子

# Sum of rows based on column values
  
# loading library
library(plyr)
  
# Creating dataset 
# creating fuits column
x <- c("toy1","toy2","toy3",
       "toy1","toy1","toy3",
       "toy2","toy3")
  
# creating stock_1 column
y <- c(1,2,3,4,5,6,4,8)
  
# creating stock_2 column
z <- c(9,1,10,5,2,6,4,8)
  
# creating dataframe
df <- data.frame(toys=x,stock_1=y,stock_2=z)
  
# using sum function colwise
ddply(df,"toys",numcolwise(sum))
R

输出

在R数据框中基于列值的行数之和

使用ddply

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程