如何在R中计算行之间的差异(详细指南)

901 阅读1分钟

你可以使用**diff()**函数来计算R语言中数据框的行间差异。

#find difference between rows in every column of data frame
diff(as.matrix(df))

#find difference between rows of specific column
diff(df$column_name)

下面的例子展示了如何在实践中使用这种语法。

例1:查找每一列的行间差值

下面的代码显示了如何计算一个数据框中每一列的行间差。

#create data frame
df <- data.frame(day=c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10),
                 sales=c(7, 8, 8, 12, 10, 9, 13, 16, 11, 7))

#view data frame
df

   day sales
1    1     7
2    2     8
3    3     8
4    4    12
5    5    10
6    6     9
7    7    13
8    8    16
9    9    11
10  10     7

#calculate difference between rows for each column
diff(as.matrix(df))

      day sales
 [1,]   1     1
 [2,]   1     0
 [3,]   1     4
 [4,]   1    -2
 [5,]   1    -1
 [6,]   1     4
 [7,]   1     3
 [8,]   1    -5
 [9,]   1    -4

例2:查找特定列的行之间的差值

下面的代码显示了如何计算数据框中某一列的行间差。

#create data frame
df <- data.frame(day=c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10),
                 sales=c(7, 8, 8, 12, 10, 9, 13, 16, 11, 7))

#calculate difference between rows in 'sales' column
diff(df$sales)

[1]  1  0  4 -2 -1  4  3 -5 -4

例3:查找行间差并添加新列

下面的代码显示了如何计算数据框中特定列的行间差异,然后将这些差异作为一个新列附加在数据框的末尾。

#create data frame
df <- data.frame(day=c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10),
                 sales=c(7, 8, 8, 12, 10, 9, 13, 16, 11, 7))

#calculate difference between rows in 'sales' column
sales_diff <- diff(df$sales)

#append NA to beginning of differences vector
sales_diff <- c(NA, sales_diff)

#append differences vector as new column
df$sales_diff <- sales_diff

#view updated data frame
df

   day sales sales_diff
1    1     7         NA
2    2     8          1
3    3     8          0
4    4    12          4
5    5    10         -2
6    6     9         -1
7    7    13          4
8    8    16          3
9    9    11         -5
10  10     7         -4

其他资源

下面的教程解释了如何在R中执行其他常见的行函数。

如何在R中使用colSums()函数
如何在R中使用rowSums()函数
如何在R中使用nrow()函数

The postHow to Calculate Difference Between R in Rappeared first onStatology.