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

  • 获取数据框的结构:
  • 从数据框中提取数据
  • 将行和列添加到数据框
目录向量可以定义为具有相同数据类型的数据序列。在R中,可以使用c()函数创建向量。
R向量用于保存相同数据类型的多个数据值,类似于C语言中的数组。
数据框是用于保存值的二维表结构。在数据帧中, 每一列包含一个变量的值, 每一行也包含每一列的值。数据框可以存储数字数据或字符数据或因子类型数据。
数据框中的每一列应包含相等数量的数据元素。可以从R中的向量转换数据帧。
要使用向量在R中创建数据帧, 我们首先必须具有一系列包含数据的向量。
data.frame()函数用于从R中的向量创建数据帧。
语法如下:
data.frame(vectors)

现在, 让我们根据R中的向量制作一个数据框
这里我们有用于学生数据的向量, 我们必须将它们转换为数据帧。
准备向量:
  • User.ID向量:学生的ID向量User.ID包含直接输入学生的条目, 后跟1到8之间的数字。
  • 名称向量:学生的名字。
  • 性别向量:学生的性别, 包含条目"男"和"女"。
  • 标记向量:它包含学生获得的分数。
  • 编号:包含每个学生的人数。
使用向量构建数据框:
# R program to illustrate # data frame from vectorUser.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 vectorUser.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 vectorUser.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.df$Name, class.df$gender) print (extract)

输出如下:
在R编程中从向量创建数据框

文章图片
将行和列添加到数据框 添加栏:
要添加列, 我们只需要在数据帧中添加一个新的列向量即可。
让我们以上面的示例来说明如何添加列。
例子:
# R program to illustrate # data frame from vectorUser.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 vectorUser.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编程中从向量创建数据框

文章图片
【在R编程中从向量创建数据框】在上面的代码中, 我们使用另外3行创建了一个新的数据框架" new.data", 然后将两个数据框架绑定在一起, 从而添加了" new.data"行。

    推荐阅读