前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R 程序与数据

R 程序与数据

原创
作者头像
拉布拉多_奶芙
修改2024-10-13 16:01:24
740
修改2024-10-13 16:01:24
举报
文章被收录于专栏:R语言相关点

一、 R程序

R 语言程序主要由 R 程序及其分析结果组成。

1.R程序

R 程序由多行代码组成(基于 S 语言),是由命令和结果名组成。

例如:

Lg<-log (10) #计算10的自然对数值 其中, Ÿ log (10)为命令, Lg 为命令产生的结果名 Ÿ R 程序代码大小写必须区分, Lg 和 lg 是不同的 Ÿ R 语言中,命令主要为函数形式

Ÿ 结果名主要是数据或者统计分析结果集合的一个标签。

Ÿ 命令产生的结果赋值给结果名的符号为"<-",就是告诉我们,我这条命令,产生的结果都打包给你了,这个包的名字叫做 Lg 。 Ÿ #+文字 为对程序的注释或解释,程序运行时会自动忽略。解释很重要,规范的 R 程序每天都需要解释,以免下一次看不懂上次 R 代码的意思。

2.R程序的分析结果

上述已经提过, R 语言分析在一个名字为结果名的包中,想要知道结果,只要如果你想知道 Lg 的内容。直接再输入以下命令,就出来结果了。 Lg 上述程序合并在一起就是 Lg <- log (10) Lg 有些时候命令不打包,也就是不赋值,则直接 log (10)就可以出来结果了。 log (10)

3. R 程序的具体运行过程

R 程序运行过程,全部可以在 Rstudio 文本编辑器操作。如果要将两行全部运行,选中全部,点击右上角 run 按钮。如果只想跑一行,讲鼠标放置在改行,点击右上角 run 按钮即可

Lg <- log (10)

Lg

[1]2.302585

log (10)

[1]2.302585

4.R命令的主要形式:函数

大多数 R 语言的命令为函数。中学学过数学我们就知道 f ( x ),为函数的基本表现方法。在 R 语言也是如此。 log(10)中,log为函数名,往往形式为log(),即为y=In(x)。10为一个函数的参数,也就是其中的x。

R语言包的方便就在于,对于复杂的函数,我们无序自己手动去计算函数的值,R语言作者通过编写程序,已经写了一系列的函数,帮助我们去直接计算。比如计算标准差sd,无需将标准差的公式写出来计算,只需sd ()即可.

函数中,要纳入的参数往往不是一个,很多时候函数()中的参数很多。比如,我需要产生一连续的数据,采用seq的方法。比如我想产生1-5直接连续的一串数据,那么就可以。

seq(1,5)

[1] 12345

这里面的参数看起来有2个,也就是一头一尾的界值。但实际上 seq ()的参数总共是五个,包括from, to, by, length.out, along.with 另外三个一般都缺省了。

seq(from = 1, to = 1, by = ((to - from)/(length.out 1)), length.out = NULL, along.with = NULL, ...)

如果我们加一个by参数(间隔2个单位产生一串数据):

seq(1,5,2)

[1]135

因此, R语言函数其实设定的参数个数往往都不少,一般情况下,我们以缺省的方法可以忽略它,但是特殊情况必须要进行设置。各种函数的参数解释可以输入help()语句进行学习:

help("seq")

5. R语言简单计算

以下是R语言最基本的数学计算公式,请大家进行根据R函数进行简单的运算

加减乘除:+ -*/;

1+1 #程序

[1]2 #运算结果

平方根:sqrt()

sqrt(25) #程序

[1]5 #运算结果

对数:log2()、log10()

log(10) #程序

[1] 2.302585 #运算结果

其他还包括:余数、整除:%% %/%;幂、指数:^;判断符号== > < != <= >= 等

5%%2 #求余数

5%/%2 #求整除

这里要说明一下,判断符号的使用。

举例

2>2

[1] FALSE

6==6 #在R语言相等的方式是==,而不是=

[1] TRUE

可以看出,判断符号可以返回逻辑型结果,F 或者T。判断符号今后使用场景很多,它在函数里面,将返回判断符号结果为真(True)的那些值。

在以后的推文中再进行介绍。

二、R数据

R语言有两种形式,—种是R语言分析结果,—种原始数据。此处只介绍原始数据。分析结果可以下—阶段的分析对象,也可以是最终结果。

1.R原数据产生的方式

R数据产生往往有两种:第一种是利用R函数直接产生相应的数据集;另外—种是从外界的数据库比如EXCEL,导入数据,形成数据集,这种是大多数R数据分析的的方式。

这里先介绍第一种方法。利用R函数直接产生数据库的方法,最基本的方法是利用函数c()。

举例: c()产生一串数据,并赋值结果名(数据名)x1、x2

x1<-c(2,3,5,7,10) #产生数据,数据名为x1

x1

[]2 3 5 7 10

或者

x2<-c("A", "B","C","D") #产生数据,数据名为x2

x2

[1] "A""B""C""D"

必须注意的是,双引号必须都要朝下,错误的双引号是""。

R语言也可以不用c(),直接产生连续等距数据:

x3<-1:5 #产生1-5直接连续整数数据,数据名为x3

x3

[1]1 2 3 4 5

我们也可以利用seq(1,5)产生等距的数据串,本文先前已经介绍过了。也可以利用

2.R数据的类型

R数据的类型可以从两个角度进行分类,一种是根据数据值本身的特性,或者统计学上所说的变量值属性来进行判断;第二种角度,根据变量特性进行判断。

第—种角度,根据娈量值特性进行分类

根据变量值,有以下多种形式

·数字(double/numeric,缩写num)。

·整数(integer,缩写int) : 1L,2L

·虚数(complex,缩写cplx) : 1+2i,3-5i

·逻辑(logic,缩写logi) : True, False

·文字(character,缩写chr)

x1<-c(2,4,6,10),x1数据集全部为数字型

x2<-C("A","B""C","D"),x2数据集全部为文字型

特别注意的是,R语言逻辑型数据的结果为True,False,或者T, F,他们不是字符串,而是对客观现象的—种判断,在R语言有特殊的地位,今后会经常碰到,敬请注意。

函数class()可以鉴定一串数据的类型

class(x1)

[1] "numeric"

class(x2)

[1] "character"

第二种角度,根据变量属性进行分类

在医学研究中,数据由变量组成,变量可以分为数值变量和分类变量。数值变量数据,一般来说变量值为数值。包括整数型和数值型向量。

x4<-c(170,171,161,164) #产生身高的变量x4

x4

[1] 170 171 161 164

分类变量数据,包括无序和有序两类。变量值是分类变量值,比如女性或者男性。在R语言中分类变量我们称之为因子(factor)。主要包括:字符型变量;整数型变量:1、2;逻辑性变量

医学数据库最常见的分类变量类型是整数型变量。即便是字符型变量(性别,男性和女性),也通常会以整数型变量体现,比如1,2来表示,用1代表男,用2代表女。这样做好处非常明显:数据库主要开展数学运算,数学运算对象,最好是数字。

对于字符串型的分类数据,R语言直接认定为因子。

对于数值型分类数据,R语言很多时候认定为数值变量数据。此时,需要用factor()或者as.factor()函数进行转换。as.factor()不能加levels,factor()可以加levels

factor()可将整数型向量转为分类变量数据,变成因子

f1<-factor(c(1,2,1,3,2,4,2,4,2,1))

f1

[1]1 2 1 3 2 4 2 4 2 1

Levels: 1 2 3 4

factor()可以加levels参数设定(进行水平鉴定 ),对因子顺序进行重新排列

f2<-factor(c(1,2,1,3,2,4,2,4,2,1), levels=c(2,1,4,3))

f2

[1]1 2 1 3 2 4 2 4 2

Levels: 2 1 4 3

在f2数据集产生过程中,函数加了条件levels。加levels的意思是,对里面因子1,2,3,4的排列顺序重新调整,在这个例子中,2这个—类别是放在最前面的,在以后统计分析中作为对照组。这一操作是否有价值,我们可以在统计分析中,任意设定对照组,而不是只以第一组或者第四组为对照。

我们还可以设定值的标签:

f3<-factor(c(1,2,1,3,2,4,2,4,2.1), levels=c(2,1,4,3),labels = ("A","B","AB","O"))

对于因子,我们还有更多的操作,诸位可以试试.

Ÿtable(f1) #因子列表展示

Ÿclass(f1) #查看f1的类型

Ÿlevels(f1) #查看f1因子的分组水平

Ÿsummary(f1) #f1因子的汇总

Ÿas.factor( ) #把数值型的资料变成因子R

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、 R程序
    • 1.R程序
      • 2.R程序的分析结果
        • 3. R 程序的具体运行过程
          • 4.R命令的主要形式:函数
            • 5. R语言简单计算
            • 二、R数据
              • 1.R原数据产生的方式
                • 2.R数据的类型
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档