将R中的数据更改为日期

问题描述 投票:-2回答:1

我试图将我的数据集中的值更改为日期,但是我从错误代码中获取了代码;

>WC1$date <- as.Date(WC1[X,], format= "%m/%d/%Y")

Error in as.Date(WC1[X, ], format = "%m/%d/%Y") : object 'X' not found
Error in WC1["X", ] : subscript out of bounds

目前这是我的数据。

      X                    X1.2.2018 X1.3.2018 X1.4.2018 X1.5.2018 X1.8.2018
 [1,] "ED"                 NA        NA        NA        NA        NA       
 [2,] "Front Clinic "      NA        NA        NA        NA        NA  

即使我转置我的数据并尝试采用类似的方法。在CSV文件中,我的数据在日期前面没有X,所以我不确定它们为什么会出现在R中。另外我尝试使用日期格式并得到相同的错误。

> WC1$date <- as.Date(WC1['X',], format= "%m.%d.%Y")
Error in WC1["X", ] : subscript out of bounds
r date vector atomic
1个回答
1
投票

值(X,X1.2.2018,X1.3.2018,X1.4.2018,X1.5.2018,X1.8.2018)已经设置为列名(即标题),因此它们不是“第一行”,R区分这些是Excel中没有的。这意味着您无法使用[]选择值,但可以使用names()。

首先使用gsub删除前导X,然后使用as.Date格式化日期

names(WC1)<-gsub("[^0-9\\.]", "", names(WC1))
names(WC1)<-as.Date(names(WC1), format = "%m.%d.%Y")

或者,在列名开头添加X是一种行为,您可以在首先读取文件时在read.csv()命令中切换(请参阅:R- Why are Xs added to the names of variables in my data frame?

© www.soinside.com 2019 - 2024. All rights reserved.