R语言 如何在R数据框架中基于现有行分配列名

R语言 如何在R数据框架中基于现有行分配列名

在这篇文章中,我们将讨论如何在R编程语言中基于行给DataFrame分配列名或标题。

方法1:使用 as.character() 方法

R语言中的unlist()方法是用来模拟列表到矢量的转换。它通过保留所有组件简化了向量的产生。每个元素都与相应行中的每个值相同。然后,as.character()方法被连续应用于这个列表,对其每个元素进行单独出发。as.character试图将其参数胁迫为字符类型。因此,现有的行被分配为数据帧的头。然后,相应的行可以被删除或保留到数据框中。

语法

unlist(list)

例子

# creating a data frame
data_frame = data.frame(col1=c(1,2,3,-4),
                        col2=c(8,9,5,10),
                        col3=c(0,2,3,5))
  
# printing original data frame
print("Original Data Frame")
print (data_frame)
  
# second row of the data frame is 
# assigned as the column name
colnames(data_frame) <- as.character(unlist(data_frame[2,]))
  
# second row is then deleted from 
# the data frame
data_frame = data_frame[-2, ]
  
print("Modified Data Frame")
print(data_frame)
Bash

输出

[1] "Original Data Frame"
 col1 col2 col3
1    1    8    0
2    2    9    2
3    3    5    3
4   -4   10    5
[1] "Modified Data Frame"
  2  9 2
1  1  8 0
3  3  5 3
4 -4 10 5
Bash

方法2:使用 lapply() 方法

R中的lapply()函数,返回一个与输入列表对象相同长度的列表,其中的每个元素都是将 FUN 应用于列表中每个相应元素的结果。

语法: lapply(X, FUN, …)

参数:

  • X – 数据框或矩阵
  • FUN – R中的任何函数都可以被指定为第二个参数,其中内置的和用户定义的函数都可以使用。

如果我们使用as.character作为FUN,那么数据框的变量,数据框的所有变量将被转换为 “字符 “类。然后,标题或colnames可以被分配给数据框的特定行。

例子

# creating a data frame
data_frame = data.frame(col1=c(1,-2,3,-4),
                        col2=c(8,9,5,10),
                        col3=c(0,2,3,5),
                        col4=c(1.5,4.5,6.7,8.9))
  
# printing original data frame
print("Original Data Frame")
print (data_frame)
  
# apply row4 as the header
data_frame[] <- lapply(data_frame, as.character)
colnames(data_frame) <- data_frame[4, ]
  
print("Modified Data Frame")
print(data_frame)
Bash

输出

[1] "Original Data Frame"
 col1 col2 col3 col4
1    1    8    0  1.5
2   -2    9    2  4.5
3    3    5    3  6.7
4   -4   10    5  8.9
[1] "Modified Data Frame"
 -4 10 5 8.9
1  1  8 0 1.5
2 -2  9 2 4.5
3  3  5 3 6.7
4 -4 10 5 8.9
Bash

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册