R语言 从矢量创建数据框

R语言 从矢量创建数据框

向量可以被定义为具有相同数据类型的数据序列。在R语言中,可以使用 c() 函数创建一个向量。

R向量用于保存同一数据类型的多个数据值,类似于C语言中的数组。

数据框架 是一个2维的表结构,用来保存数值。在数据框架中,每一列包含一个变量的值,同时每一行也包含每一列的值。数据框可以存储数字数据或字符数据或因子类型的数据。

数据框中的每一列都应包含相同数量的数据元素。数据框可以在R中由向量转换而来。

要在R中使用向量创建一个数据框,我们必须先有一系列包含数据的向量。

data.frame() 函数用来在R中从向量创建一个数据框。

语法

data.frame(vectors)

现在让我们在R中用向量制作一个数据框。

这里我们有学生数据的向量,我们必须把它们转换成数据框。

准备好这些向量

  • User.ID向量: 学生的ID 向量User.ID包含学生的条目,后面直接跟上一个从1到8的数字。
  • Name向量: 学生的姓名。
  • 性别向量: 学生的性别,包含 “男性 “和 “女性 “两个条目。
  • 分数 向量:它包含学生的分数。
  • 编号 :包含每个学生的编号。

使用向量建立数据框架

# R program to illustrate
# data frame from vector
   
User.ID <- sprintf("User % d", 1:8) 
Name <- c("Jhon", "Lee", "Suzan", "Abhinav",
          "Brain", "Emma", "David", "Alice")
   
gender <- c("Male", "Male", "Female", "Male",
            "Male", "Female", "Male", "Female")
   
Marks <- c(56, 76, 86, 96, 73, 87, 47, 98)
    
Number <- c('111-222', '222-333', '333-444', '444-666',
            '333-888', '000-888-777', '999-000', '222-456')
    
class.df<- data.frame(User.ID, Name, 
                      gender, Marks, Number)
class.df

输出: 结果将是一个数据框。

在R编程中从矢量创建数据框

在上面的例子中,我们有5个向量,Name是一个长度为8的字符向量,User.ID是一个数字向量和上述所有的向量,利用它们我们创建了一个列长为8、行长为5的数据框。

一旦创建了一个数据框,我们就可以应用各种数据框操作。

获取数据帧的结构。

str() 函数用于获取数据框的结构。

例子

# R program to illustrate
# data frame from vector
   
User.ID <- sprintf("User % d", 1:8) 
Name <- c("Jhon", "Lee", "Suzan", "Abhinav",
          "Brain", "Emma", "David", "Alice")
   
gender <- c("Male", "Male", "Female", "Male",
            "Male", "Female", "Male", "Female")
   
Marks <- c(56, 76, 86, 96, 73, 87, 47, 98)
    
Number <- c('111-222', '222-333', '333-444', '444-666',
            '333-888', '000-888-777', '999-000', '222-456')
    
class.df<- data.frame(User.ID, Name, 
                      gender, Marks, Number)
str(class.df)

输出:

在R编程中从矢量创建数据框
在上述代码中,使用str()函数,我们看到了数据框的结构。

从数据框中提取数据

在R中,我们可以使用列的名称从数据框中访问一个特定的列。

例子

# R program to illustrate
# data frame from vector
   
User.ID <- sprintf("User % d", 1:8) 
Name <- c("Jhon", "Lee", "Suzan", "Abhinav",
          "Brain", "Emma", "David", "Alice")
   
gender <- c("Male", "Male", "Female", "Male",
            "Male", "Female", "Male", "Female")
   
Marks <- c(56, 76, 86, 96, 73, 87, 47, 98)
    
Number <- c('111-222', '222-333', '333-444', '444-666',
            '333-888', '000-888-777', '999-000', '222-456')
    
class.df<- data.frame(User.ID, Name, 
                      gender, Marks, Number)
extract<- data.frame(class.dfName,
                     class.dfgender)
print(extract)

输出

在R编程中从矢量创建数据框

在数据框中添加行和列

添加列:
要添加一个列,我们只需在数据框中添加一个新的列向量。
让我们以上述例子来说明如何添加一个列。

例子

# R program to illustrate
# data frame from vector
   
User.ID <- sprintf("User % d", 1:8) 
Name <- c("Jhon", "Lee", "Suzan", "Abhinav",
          "Brain", "Emma", "David", "Alice")
   
gender <- c("Male", "Male", "Female", "Male",
            "Male", "Female", "Male", "Female")
   
Marks <- c(56, 76, 86, 96, 73, 87, 47, 98)
    
Number <- c('111-222', '222-333', '333-444', '444-666',
            '333-888', '000-888-777', '999-000', '222-456')
    
class.df<- data.frame(User.ID, Name, 
                      gender, Marks, Number)
  
class.df$New.column<- sprintf("new.data % d", 1:8)
modified.dataframe <- class.df
print(modified.dataframe)

输出:

在R编程中从矢量创建数据框

在上面的例子中,使用上述数据框架,我们在数据框架中添加了一个新的列,数据元素为new.data。

添加行

为了在数据框中添加一行,我们必须采取另一个数据框,并且我们必须使用 rbind() 函数将它们都绑定起来。

让我们以上面的例子来说明如何在数据框中添加一个新行。

例子

# R program to illustrate
# data frame from vector
   
User.ID <- sprintf("User % d", 1:8) 
Name <- c("Jhon", "Lee", "Suzan", "Abhinav",
          "Brain", "Emma", "David", "Alice")
   
gender <- c("Male", "Male", "Female", "Male",
            "Male", "Female", "Male", "Female")
   
Marks <- c(56, 76, 86, 96, 73, 87, 47, 98)
    
Number <- c('111-222', '222-333', '333-444', '444-666',
            '333-888', '000-888-777', '999-000', '222-456')
    
class.df<- data.frame(User.ID, Name, 
                      gender, Marks, Number)
  
# create another data frame
User.ID <- sprintf("User % d", 9:12)
  
Name <- sprintf("new.data % d", 9:12)
  
gender <- c("Male", "Male", "Female")
  
Marks <- c( 87, 47, 98)
   
Number <- sprintf("new.number % d", 9:12)
new.data<- data.frame(User.ID, Name, gender, Marks, Number)
  
final.data <- rbind(class.df, new.data)
  
print(final.data)

输出:

在R编程中从矢量创建数据框

在上面的代码中,我们创建了一个新的数据框 “new.data”,并增加了3条记录,然后将两个数据框绑定在一起,结果在 “new.data “中增加了几条记录。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程