如何在 r 中使用 make.names 函数(附示例)


您可以使用 R 中的make.names函数从字符向量创建语法上有效的名称。

该函数使用以下基本语法:

 make.names(names, unique = FALSE)

金子:

  • 名称:字符向量,用于限制语法上有效的名称。
  • unique :是否创建唯一的名称。默认值为 false。

以下示例展示了如何在不同场景下使用该功能。

示例 1:为向量创建有效名称

假设我们有以下数值向量:

 #create vector of numeric values
numeric_values <- c(1, 1, 4, 7, 8)

#create syntactically valid names from numeric values
make. names (numeric_values)

[1] "X1" "X1" "X4" "X7" "X8"

R 将“有效名称”定义为以字符或句点开头的名称。

因此,要将向量的每个数值转换为有效名称,R 只需在每个值前面添加一个“X”即可。

请注意,其中两个名称(“X1”)完全相同。

要强制名称唯一,我们可以指定unique=TRUE

 #create vector of numeric values
numeric_values <- c(1, 1, 4, 7, 8)

#create syntactically valid names from numeric values
make. names (numeric_values, unique= TRUE )

[1] "X1" "X1.1" "X4" "X7" "X8"

请注意,现在每个名称都是唯一的。

示例 2:为 Matrix 创建有效名称

假设我们在 R 中有以下矩阵:

 #create matrix
mat <- matrix(c(1, 2, 3, 7, 2, 4, 4, 6, 0, 1), ncol= 2 )

#view matrix
mast

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

#view column names of matrix
colnames(mat)

NULL

请注意,矩阵当前没有列名称。

但是,我们可以使用make.names()函数快速创建列名:

 #create column names for matrix
colnames(mat) <- make. names (1:ncol(mat))

#view updated matrix
mast

     X1 X2
[1,] 1 4
[2,] 2 4
[3,] 3 6
[4,] 7 0
[5,] 2 1

请注意,矩阵现在将“X1”和“X2”作为列名称。

如果需要,我们现在可以使用列名称提取矩阵特定列的值:

 #view values in "X1" column of matrix
mat[, ' X1 ']

[1] 1 2 3 7 2

另请注意,您可以在 R 中键入以下内容来阅读有关如何创建语法有效名称的完整文档:

 ?make.names

其他资源

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

如何更改 R 中的行名称
如何在 R 中迭代列名
如何使用 R 中的名称函数

添加评论

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