如何使用 r 中的 drop 函数(附示例)


基础 R 中的drop()函数可用于从只有一层的数组或矩阵中删除维度。

以下示例展示了如何在实践中使用此功能。

示例 1:使用 drop() 删除表中具有级别的维度

假设我们在R中有以下三维数组:

 #create 3-dimensional array
my_array <- c(1:10)
dim(my_array) <- c(1,2,5)

#view array
my_array

, , 1

     [,1] [,2]
[1,] 1 2

, , 2

     [,1] [,2]
[1,] 3 4

, , 3

     [,1] [,2]
[1,] 5 6

, , 4

     [,1] [,2]
[1,] 7 8

, , 5

     [,1] [,2]
[1,] 9 10

我们可以使用drop()函数删除表中只有一级的维度:

 #drop dimensions with only one level
new_array <- drop(my_array)

#view new array
new_array

     [,1] [,2] [,3] [,4] [,5]
[1,] 1 3 5 7 9
[2,] 2 4 6 8 10

请注意,只有一层的维度已被删除。

我们可以使用dim()函数来显示新的尺寸:

 #view dimensions of new array
dim(new_array)

[1] 2 5

我们可以看到新数组只有二维。

示例 2:使用 drop() 删除矩阵中具有级别的维度

假设 R 中有以下七列一行的矩阵:

 #create matrix
my_matrix <- matrix(1:7, ncol=7)

#view matrix
my_matrix

     [,1] [,2] [,3] [,4] [,5] [,6] [,7]
[1,] 1 2 3 4 5 6 7

#view dimensions of matrix
dim(my_matrix)

[1] 1 7

我们可以使用drop()函数删除矩阵中只有一层的维度:

 #drop dimensions with only one level
new_matrix <- drop(my_matrix)

#view new matrix
new_matrix

[1] 1 2 3 4 5 6 7

请注意,只有一层的维度已被删除。

矩阵确实已转换为向量。

如果我们使用dim()函数来可视化维度,它将返回NULL ,因为新对象不再是二维矩阵:

 #view dimensions of new matrix
dim(new_matrix)

NULL

相反,我们可以使用length()来显示向量的长度:

 #view length
length(new_matrix)

[1] 7

我们可以看到我们的向量包含 7 个元素。

其他资源

以下教程解释了如何在 R 中执行其他常见任务:

如何在 R 中使用 cut() 函数
如何在 R 中使用 n() 函数
如何在 R 中使用 nchar() 函数

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注