❶ R语言数据对象类型
在R中尽量使用 <- 进行赋值, <- 更标准。在R中使用 = 进行赋值可能会出现错误(有些函数会将其解释为判断)——因为R起源于S语言,S语言的定义如此。
模式-使用mode()可以查看对象的数据类型
长度-使用length()可以查看对象的长度
标量可以是数字、字符、逻辑值等。
结果
向量可以由单个或多个值组成,多值的向量只能由相同类型的值组成,有一维和多维向量。
向量用于存储数值型、字符型、逻辑型数据
is.na()判断是否为缺失值,返回一个逻辑性向量
将自变量连接成一个字符串。
一般的使用形式是paste (..., sep = " ", collapse = NULL), ... 表示想要连接的不同自变量,sep表示不同自变量之间添加的符号,collapse打开之后表示将整个自变量变成一个单一的变量
对对象进行重复
在统计学中,按照变量值是否连续把变量分为连续变量与离散变量两种。分类变量是说明事物类别的一个名称,其取值是分类数据。变量值是定性的,表现为互不相容的类别或属性。因子就是一类分类离散变量。
因子是带有水平(level)的向量。
factor()函数一般形式为:
可以用来筛选因子的level
Table()函数对应的就是统计学中的列联表,是一种记录频数的方法。对于因子向量,可用函数table()来统计各类数据的频率。Table()的结果是一个带元素名的向量,元素名为因子水平,元素值为该水平的出现频率。
tapply()是对向量中的数据进行分组处理,而非对整体数据进行处理。函数一般形式为:
gl()函数可以方便地产生因子,函数一般形式为:
矩阵是一个二维数组,只是每个元素都拥有相同的数据类型(数值型、字符型或逻辑型)。注意与数据框的差别,数据框不同列的数据类型可以不同。
函数matrix ()是构造矩阵(二维数组)的函数,其构造形式为:
数组与矩阵类似,但是维度可以大于2。数组有一个特征属性叫做维数向量(dim属性),维数向量是一个元素取正整数值的向量,其长度是数组的维数,比如维数向量有两个元素时数组为二维数组(矩阵)。维数向量的每一个元素指定了该下标的上界,下标的下界总为1。
R软件可以用array()函数直接构造数组,其构造形式为:
数据框与矩阵类似,为二维,其数据框中各列的数据类型可以不同,但是长度必须一样。数据框在生物数据中用得比较多,是非常重要的一类数据类型。
数据框与矩阵不同的是数据框不同的列可以是不同的数据类型,并且数据框假定每列是一个变量,每行是一个观测值。
作为数据框变量的向量、因子或矩阵必须具有相同的长度(行数)。数据框可以用data.frame()函数生成,其用法与list()函数相同。
data.frame(col1,col2,col3.....)其中列向量col1,col2等可以是任何类型的向量
列表可以储存不同类型的数据,是一些对象的有序集合。它的元素也由序号(下标)区分,但是各元素的类型可以是任意对象,不同元素不必是同一类型。元素本身允许是其他复杂数据类型。比如一个列表的元素也允许是一个列表。
R软件中利用函数list()构造列表,一般语法为:
Lst<-list(name_1=object_1,…, name_1=object_m)
其中name是列表元素的名称;object_i(i=1,…,m)是列表元素的对象。
unlist()函数:将list函数拉直成一个向量
❷ r语言 将时间加1小时
使用POSIXIt函数。
.POSIXIt作用是打散时间,把时间细分来进行储存。POSIXIt是S3泛型函数,根据参数的数据类型选择不同的转换方法,除字符串外还能够转换数字,因子等数据类型,适应性很强。
❸ R语言中如何把数据框里的元素改成数值型
R语言有专用的日期数据格式
hour<-as.Date(hour,'%R')
❹ 请问R语言在安装pc包时出错是怎么回事
您好,这样的:
步骤1:打开你电脑中的杀毒软件
步骤2:关掉杀毒软件的实时防护/监控功能
步骤3:在线或本地安装你要装的R安装包
步骤4:安装完R安装包后,重新打开杀毒软件的实时防护/监控功能。
步骤5:在R中运行你刚才安装的包。
sion 3.0.1 (2013-05-16)
Platform: i386-w64-mingw32/i386 (32-bit)
locale:
[1] LC_COLLATE=Chinese (Simplified)_People's Republic of China.936
[2] LC_CTYPE=Chinese (Simplified)_People's Republic of China.936
[3] LC_MONETARY=Chinese (Simplified)_People's Republic of China.936
[4] LC_NUMERIC=C
[5] LC_TIME=Chinese (Simplified)_People's Republic of China.936
attached base packages:
[1] stats graphics grDevices utils datasets methods base
>
❺ r语言如何把数据框内的数值型数据转变成日期型数据
有数据集a,变量x,将变量x从数值型变为日期型,其代码如下:
a$x=as.Date(a$x)
❻ R语言中使用as.Date想转变日期的形式 as.Date(x,format ("%Y%d%m")
在我们日常所遇到的数据分析任务中,会遇到很多与日期时间挂钩的数据,比如本月每日的销售额和网页一天内每个时间节点的点击量。这类型的数据大多数为时间序列,而时间序列分析在日常中也是很常见的。现在我们先来聊一下R语言中关于日期时间的处理,之后有时间的话就学习一些有关时间序列分析的方法。
一、日期函数as.Date()函数
R中自带的函数as.Date首先和大家介绍一下它的日常用法,第一个就是我们使用as.Date来返回日期数据形式,且默认的格式为年-月-日,format参数用于识别输入的日期按照那种数据逻辑输入,比如下面数据是以"*年*月*日"的逻辑输入:
> as.Date("2019年9月28日", format = "%Y年%m月%d日")
[1] "2019-09-28"
其中我们看到上面%Y等等的字符,其实是日期格式的一种字符形式,常用的格式如下:
第二个用法就是我们给定起点日期,再输入延后天数,就可以输出对应的日期:
> as.Date(31,origin ='2019-01-01')
[1] "2019-02-01"
二、时间函数POSIXct与POSIXlt
(1).POSIXIt主要特点:作用是打散时间,把时间分成年、月、日、时、分、秒,并进行存储我们可以结合unclass()函数,从而提取日期时间信息。比如:
> unclass(as.POSIXlt('2018-9-7 8:12:23'))
$sec
[1] 23
$min
[1] 12
$hour
[1] 8
$mday
[1] 7
$mon
[1] 8
$year
[1] 118
$wday
[1] 5
$yday
[1] 249
$isdst
[1] 0
$zone
[1] "CST"
$gmtoff
[1] NA
我们输入带时间的日期数据,利用unclass和as.POSIXlt函数就可以返回秒、分、时、日、该年已过月数、已过年数(从1900起)、星期几、该天对应该年的第几天,时区等等。
(2).POSIXct 是以1970年1月1号8点开始的以秒进行存储,如果是负数,则是之前的日期时间;正数则是之后,比如:
> unclass(as.POSIXct('1970-1-1 8:00:20'))
[1] 20
attr(,"tzone")
[1] ""
三、日期时间的运算
(1).日期相减,得到相差的天数
> as.Date("2019-10-01") - as.Date('2019-9-26')
Time difference of 5 days
(2).带时间的日期相减,得到相差数(可以指定units参数为"secs","mins","hours","days")
> difftime('2019-10-1 10:00:00',"2019-10-1 6:00:00",units="hours")
Time difference of 4 hours
❼ R语言使用read.csv()函数时0-1型数据自动识别成int型,怎么改成因子
你的文件是file.csv
>data<-read.csv("file.csv",header=T)
比如说第2列是性别 1是男 0是女
那么你可以强制转换,也可以用函数
>sex<-factor(data[,2]) 或者 >sex<-as.factor(data[,2])
如此sex就变成了因子型的
你可以把0,1改成female ,male
>levels(sex)<-c("female","male")
最后带回去
>data[,2]<-sex
❽ 为什么csv时间序列对象无法转换为xts对象
自己解决了这个麻烦。抓取的数据先在excel里加工好,然后复制到txt文本里,再把后缀名改为.csv。设置好目录后,加载xts包,直接输入as.xts(read.zoo(‘name.csv’,header=T))就OK了,可以通过head()查看是否正确。
我以前是在excel里另存为csv格式,网络上说CSV档如果以EXCEL开启,由于计算机档案数据转换的原因,会将其CRC之数值改做科学记号方式储存,而造成档案中的 CRC值发生错误。R语言的基础包中提供了两种类型的时间数据,一类是Date日期数据,它不包括时间和时区信息,另一类是POSIXct/POSIXlt类型数据,其中包括了日期、时间和时区信息。一般来讲,R语言中建立时序数据是通过字符型转化而来,但由于时序数据形式多样,而且R中存贮格式也是五花八门,例如Date/ts/xts/zoo/tis/fts等等。lubridate包,timeDate包,都有用。看来还要多学习啊。
❾ 如何在r语言输入日期型数据
建议直接用简单 ts() 函数 ,自动转换为时间序列
详情请见 help(ts) 里面有详细的用法。
❿ R语言怎么将数据框中的多列字符型转换为数值型
dflme1[,2:60]<-lapply(dflme1[,2:60],as.numeric)。