R语言学习笔记:因子factor和数据框data frame基础介绍和使用教程 您所在的位置:网站首页 r语言class函数每列数据类型 R语言学习笔记:因子factor和数据框data frame基础介绍和使用教程

R语言学习笔记:因子factor和数据框data frame基础介绍和使用教程

2024-06-03 06:06| 来源: 网络整理| 查看: 265

今天的笔记内容是R语言中因子和数据框的基础介绍和使用方法。更多笔记关注公众号:生信分析笔记

R语言 因子

因子可以用来存储不同类别的数据类型,R 语言创建因子使用 factor() 函数,向量作为输入参数。

factor() 函数语法格式:

factor(x = character(), #向量levels,  #指定各水平值labels = levels, #水平标签exclude = NA,  #剔除的字符ordered = is.ordered(x), #逻辑值,指定是否排序 nmax = NA) #水平的上限 创建因子

按照如下方式能够创建一个简单的因子,含有大和小两个水平。

> x  yinzi  print(yinzi)[1] 大 小 大Levels: 大 小> print(is.factor(yinzi))  # 判断是不是因子[1] TRUE 添加水平标签

首先,设置因子水平(共两个水平“大”、“小”),具体方式如下:

> # 因子水平标签> x  yinzi  print(yinzi)                        levels1 levels2      大      小      大      大      小 Levels: 大 小

使用 labels 参数为每个因子水平添加标签,labels 参数的字符顺序,要和 levels 参数的字符顺序保持一致。

> x  print(x)[1] big   small big   small smallLevels: big  v  print(v) [1] sheng sheng sheng sheng xin   xin   xin   xin   [9] biji  biji  biji  biji Levels: sheng xin biji R语言数据框

数据框(Data frame)也就是常说的"表格"。数据框是 R 语言的数据结构,是特殊的二维列表。

数据框每一列都有一个唯一的列名,长度都是相等的,同一列的数据类型需要一致,不同列的数据类型可以不一样。 作为数据框变量的向量、因子或矩阵必须具有相同的长度(行数)。 数据框每列是一个变量,每行是一个观测。 向量、因子为数据框提供一个变量,如果向量非数值型则会被强制转换为因子。

R语言中用date.frame()函数来创建,如下:

data.frame(…,  #列向量,可以是字符、数值、逻辑值row.names = NULL,  #行名,默认为NULLcheck.rows = FALSE, #检查行名和长度是否一致check.names = TRUE,  #检查数据框的变量名是否合法fix.empty.names = TRUE,  #设置是否自动命名stringsAsFactors = TRUE) #字符是否转化为因子

接下来,通过实例来演示使用方法,创建数据框和获取数据框信息操作如下:

> table  print(2)#提取第二列> print(table[1:2,]) #提取结果前两行 name1....c..boy....girl....dog.. year1....c..12....16....7..1                              boy                          122                             girl                          16 add1....c..school....home....wc..1                            school2                              home 添加新的项 > table$work  table[4,]  print(table)  name1....c..boy....girl....dog.. year1....c..12....16....7..1                              boy                          122                             girl                          163                                5                           6  add1....c..school....home....wc.. work1                            school  ren2                              home  ren3                                 7    8 复制某些项(重复行号法) print(table[c(1,1:3),]) #把第一行复制一次,采用重复行号的办法。    name1....c..boy....girl....dog.. year1....c..12....16....7..1                                boy                          121.1                              boy                          122                               girl                          163                                  5                           6    add1....c..school....home....wc.. work1                              school  ren1.1                            school  ren2                                home  ren3                                   7    8 批量复制多行(rep函数) > print(table[rep(1:3,each  v1  v2  v3  > out1  print(out1)     v1  v2  v3  [1,] "a" "1" "ok"[2,] "b" "2" "no"> > hebing  print(hebing)     v1  v2  v3  [1,] "a" "1" "ok"[2,] "b" "2" "no"[3,] "a" "1" "ok"[4,] "b" "2" "no"

参考资料: https://www.runoob.com/r



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有