在 R 中的列名中创建带有空格的 DataFrame
在本文中,我们将看到如何在 R 编程语言中创建列名中带有空格的 DataFrame。
方法 1:使用 check.names 属性
R 中的 data.frame() 方法可用于在 R 中创建具有单独行和列的数据框。此方法包含属性 check.names,在进行此调用时默认设置为 TRUE。此属性的作用是验证分配给变量的名称在语法上是否有效。它还确保名称不重复。如果分配的名称有任何违规,则通过 make.names 属性隐式调整这些名称。
make.names 属性将允许的字符串名称分配给数据框的列,其中任何无效字符都被转换为 '.'它将一个字符向量作为输入,并将输出作为相同长度的字符向量返回,其中每个单元格值都被强制转换为一个合法的名称。
语法上有效的名称由字母、数字和点或下划线字符,并以字母或点开头,后面不跟数字。
句法:
make.names(names, unique=FALSE)
例子:
R
# declaring a data frame in R
data_frame = data.frame("Col Num 1"= c(1, 2, NA, 0),
"Col Num 2"= c( NA, NA, 3, 8),
"Col Num 3"= c("A", "V", "j", "y"))
print("Original data frame")
print(data_frame)
# printing spaces unmodified
data_frame_mod = data.frame("Col Num 1"= c(1, 2, NA, 0),
"Col Num 2"= c( NA, NA, 3, 8),
"Col Num 3"= c("A", "V", "j", "y"),
check.names=FALSE)
print("Modified data frame")
print(data_frame_mod)
R
# declaring a data frame in R
data_frame = data.frame("Col Num 1"= c(1, 2, NA, 0),
"Col Num 2"= c( NA, NA, 3, 8),
"Col Num 3"= c("A", "V", "j", "y"))
print("Original data frame")
print(data_frame)
# defining column names using vector
colnames(data_frame) = c("Col Num 1","Col Num 2","Col Num 3")
# printing modified data frame
print("Modified data frame")
print(data_frame)
R
# declaring a data frame in R
data_frame = data.frame("Col Num 1"= c(1, 2, NA, 0),
"Col Num 2"= c( NA, NA, 3, 8),
"Col Num 3"= c("A", "V", "j", "y"))
print("Original data frame")
print(data_frame)
# defining column names using vector
names(data_frame) = c("Col Num 1","Col Num 2","Col Num 3")
# printing modified data frame
print("Modified data frame")
print(data_frame)
输出
[1] "Original data frame"
Col.Num..1 Col.Num..2 Col.Num..3
1 1 NA A
2 2 NA V
3 NA 3 j
4 0 8 y
[1] "Modified data frame"
Col Num 1 Col Num 2 Col Num 3
1 1 NA A
2 2 NA V
3 NA 3 j
4 0 8 y
方法二:使用 colnames() 方法
R 中的 colnames() 方法用于为 R 中的数据框分配列名。它用于重写分配给列的现有值。它将由字符串组成的字符向量作为输入,用于列名,长度等于 R 语言中的列数。由于空格是字符串的有效字符,因此,使用此方法进行的列名分配接受名称中的空格。
最初,列名使用 make.names 属性功能进行转换,但使用字符串向量分配给数据框的 colnames() 来覆盖值。
例子:
电阻
# declaring a data frame in R
data_frame = data.frame("Col Num 1"= c(1, 2, NA, 0),
"Col Num 2"= c( NA, NA, 3, 8),
"Col Num 3"= c("A", "V", "j", "y"))
print("Original data frame")
print(data_frame)
# defining column names using vector
colnames(data_frame) = c("Col Num 1","Col Num 2","Col Num 3")
# printing modified data frame
print("Modified data frame")
print(data_frame)
输出
[1] "Original data frame"
Col.Num..1 Col.Num..2 Col.Num..3
1 1 NA A
2 2 NA V
3 NA 3 j
4 0 8 y
[1] "Modified data frame"
Col Num 1 Col Num 2 Col Num 3
1 1 NA A
2 2 NA V
3 NA 3 j
4 0 8 y
方法 3:使用names()方法
R 中的 names() 方法可以用作任何 R 对象的 getter 或 setter。它将对象作为需要命名的参数,右侧是一个向量,其长度等于要重命名的对象的长度,在本例中为数据框。它的用法与 colnames() 方法完全相似。
句法:
names(df) <- c(…,..)
电阻
# declaring a data frame in R
data_frame = data.frame("Col Num 1"= c(1, 2, NA, 0),
"Col Num 2"= c( NA, NA, 3, 8),
"Col Num 3"= c("A", "V", "j", "y"))
print("Original data frame")
print(data_frame)
# defining column names using vector
names(data_frame) = c("Col Num 1","Col Num 2","Col Num 3")
# printing modified data frame
print("Modified data frame")
print(data_frame)
输出
[1] "Original data frame"
Col.Num..1 Col.Num..2 Col.Num..3
1 1 NA A
2 2 NA V
3 NA 3 j
4 0 8 y
[1] "Modified data frame"
Col Num 1 Col Num 2 Col Num 3
1 1 NA A
2 2 NA V
3 NA 3 j
4 0 8 y