R语言中使用as.Date想转变日期的形式 as.Date(x,format ("%Y%d%m")

2024-05-05 13:21

1. 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语言中使用as.Date想转变日期的形式 as.Date(x,format ("%Y%d%m")

2. R语言中这个时间处理怎么回事啊?用read.table()导入数据,用cor()分析

data frame类型的数据里变量名都是用点的。
我觉得这个不会太影响分析吧?如果非要短横线,可能就需要是list类型了,但是那样分析数据会很麻烦。

3. R语言处理CSV文件,如何将某一列的日期自动归类到某一日期区间中去呢?

把要转换的日期变成 numeric,然后(加上或减去一个数,然后)除以7取整数商,就可以得出你要的答案了。
关于怎么把 MM/DD/YYYY 变成 YYYY-MM-DD,可以阅读 as.Date 这个函数的帮助文档。

R语言处理CSV文件,如何将某一列的日期自动归类到某一日期区间中去呢?

4. 如何用rstudio编写一个自己的数据预处理函数并分析运行结果

class DoWhileDemo   
{  
    public static void main(String[] args)   
    {  
        int x = 3;  
        do  
        {  
            System.out.println("x="+x);  
            x++;  
        }while (x<3);  
  
        int y = 3;  
        while(y<3)  
        {  
            System.out.println("y="+y);  
            y++;  
        }  
    }  
}

5. rstudio怎么进行数据去重

下载安装:R语言和它的UI界面非常安装比较简单,这里就不重复描述了,只需要到R的官网上,对应自己电脑的操作系统下载对应的版本即可。R提供window、linux和MAC OS X版本,对应下载即可,如笔者的是普通的window 32位。百度R官网,左上角的download,选择合适的镜像。如果找不到下载安装,那就不适合继续学习R语言了。

安装好之后,我们打开R界面,可以看到,R的界面非常简洁,只有一个菜单栏,和一个默认新建的R Console 控制台。

R Console 控制台的使用:我们可以在R Console 控制台内输入脚本进行运算、绘图和分析、如我们输入运算:1+2,按回车键。可以看到系统在下一行内弹出了一个3,有点类似于cmd的操作。

我们也可以对编辑脚本,打开文件--新建--new script,可以在弹出的R编辑器--R  Editor中进行编辑录入脚本的操作,编辑完毕可以进行保存和读入等一系列操作

从上面的界面和操作可以看出,单单使用R自带的gui界面,难以进行方便快捷的操作,因此我们需要使用到R的辅助UI软件RStudio。同样地我们安装好并打开它。我们看到RStudio界面比R自身内容丰富很多,整个界面切成多个模块进行同步操作显示,脚本区、控制台区、文件区非常清晰易用。

同样的,我们操作1+2、1+3的运算,可以在脚本区编辑录入1+2,回车下一行继续录入1+3,这时我们看到编辑区有两行代码,证明这个区域与运行区是分离的,可以方便我们自由地编写修改脚本。

如果我们需要运行刚才编辑的两行脚本,我们可以选中它,按Ctrl+回车即可进行运行,选中1行则执行一行,选中全部则执行全部。这里操作运算了3次,对应不同的运算结果显示在了编辑区下方的控制台Console 区域。同样地,我们可以对这类脚本进行保存、打开重编辑、运行等一系列操作

rstudio怎么进行数据去重

6. 如何在r语言输入日期型数据?

建议直接用简单 ts() 函数 ,自动转换为时间序列
详情请见 help(ts)  里面有详细的用法。

7. r语言中列表中,有按日期排列的每个城市的数据。现在城市不变,日期打乱,数组重新排列。怎么弄呢?

dimnames用list给予赋值即可。如dimnames=list(rownames,colnames,...)。

R语言数组array函数:

数组是一个可以在两个以上的维度存储数据的R数据对象。例如 - 如果创建尺寸(2,3,4)的数组,那么创建4个矩形矩阵每2行3列。数组只能存储数据类型。使用 array()函数创建数组。它需要向量作为输入,并使用 dim 参数的值,以创建一个数组。

示例:

我们可以通过使用dimnames参数给予名称添加到数组中的行,列和矩阵。

# Create two vectors of different lengths.
vector1 <- c(5,9,3)
vector2 <- c(10,11,12,13,14,15)
column.names <- c("COL1","COL2","COL3")
row.names <- c("ROW1","ROW2","ROW3")
matrix.names <- c("Matrix1","Matrix2")
# Take these vectors as input to the array.
result <- array(c(vector1,vector2),dim=c(3,3,2),dimnames = list(column.names,row.names,matrix.names))
print(result)
当我们上面的代码执行时,它产生以下结果:

1.  , , Matrix1
ROW1 ROW2 ROW3
COL1    5   10   13
COL2    9   11   14
COL3    3   12   15
2.  , , Matrix2
ROW1 ROW2 ROW3
COL1    5   10   13
COL2    9   11   14
COL3    3   12   15

r语言中列表中,有按日期排列的每个城市的数据。现在城市不变,日期打乱,数组重新排列。怎么弄呢?

8. 如何用R读取数据

在R语言里面,有很多读取数据的方法。R能读文本文件,csv格式文件,通过RODBC包读取数据库数据等等。下面我介绍几种最基本的读取数据的方法!

工具/原料
RStudio
方法
不管是读取数据还是写入,R都是在工作路径中完成的。所以首先我们要知道我们的R所在的工作路径是在哪里。使用getwd()函数来获取我们的工作路径。

下面查看工作路径里面有哪些文件,使用dir()函数

如果你所想导入的数据并不在你当前的工作路径中,有两种方法可以解决。第一种就是把数据文件放到工作路径中,第二种方法就是更改工作路径。更改工作路径使用setwd()函数。比如你想要把工作路径设置成桌面

现在我读取我工作路径中,名字为hw1_data.csv的文件。使用read.csv()函数

也可以使用read.table()函数来读取csv格式的文件。由于csv文件的分隔符是“,”所以我们在用read.table()函数的时候,sep参数,我们要设定为sep=“,”

 
发现read.table()读出来的数据,列名并不是我们文件中的列名,而是V1,V2。。。我们需要加上header这个参数来修改这个问题

 
另外在read.table()函数族中还有很多参数,对我们读取数据都有帮助,大家可以去了解下。使用?read.table()进行了解
最新文章
热门文章
推荐阅读