R

时间:2018-10-14 09:33:26

标签: r

我是Stackoverflow,统计信息和R的新手,因此对我的问题/咨询请求的简单性质深表歉意:

我正在完成对包含2个文件的大型数据集的分析:一个包含内部温度数据的txt文件和另一个SPSS数据文件。

首先,我将SPSS数据导出为CSV格式,然后剥离后仅包含我认为需要的几列-房屋类型和乘员类型。我已经导入了所有温度数据,并使用通用标识符将两者合并。

所以现在我有了一个合并的数据框,其中包含开始完成某些分析所需的所有数据。

第一个问题:我将年份,日期和时间作为单独的列。但是,导入的时间列中的“ 30/12/1899”之前的日期不正确。如何从此列中删除所有观测值的日期部分,但保留时间?

第二个问题与上面类似,日期列显示正确的日期,但是具有以下时间,这是不正确的(每个观察都显示00:00:00),如何删除所有该列的时间?

第三个问题:如何将正确的时间与正确的日期结合起来,以DD / MM / YYYY HH:MM:SS结束

第四个问题:我是否应该创建合并子集以方便分析:即:每种房屋类型(单独的子集)与温度,时间和居住者类型的对比?

1 个答案:

答案 0 :(得分:1)

  1. 可以通过参数as.is = TRUE即按原样输入日期而不是因数

    data <- read.csv(choose.files(), as.is = T)
    

我会尝试再次读取csv文件,然后使用日期时间。它会以chron或类似的格式出现,您需要将其更改为Posixct,无论如何我都会这样做。要查看某个功能的帮助,请键入问号,然后输入功能名称,即?as.posixct

  

Date.Time:chron“ 2018/08/04 10:10:00”,...#'%Y-%m-%d%H:%M:%S'当前格式,从系统。

# Date format you want is '%d/%m/%Y %H:%M'
# tz='' is an empty time zone can't remember exactly you probably should read up on
# finally on the left side of the assign <- I am creating a new column Date. 
# You can over write the old column, Date.Time, but can't hurt to learn how to delete
# a column.
data$Date <- as.POSIXct(date$Date.Time, tz='', '%d/%m/%Y %H:%M:%S')

# Now remove the original column. -Date.Time take out Date.Time, if you leave the
# minus out, the data will contain the subset Date.Time and no other columns.
data <- subset(data, select =  -Date.Time)

请先尝试一下,我将在日期字段中研究删除时间。我有一个主意,但我想先看看这是否对解决问题有帮助。

尽管如果您确实希望合并Year,month,day列,则可以尝试执行类似的操作,这似乎是合乎逻辑的事情,但是您始终可以保留原始格式并在以后将其删除。它没有伤害任何东西。

data$YMD <- paste(data$Year," ",
                  data$Month, " ",
                  data$Day)

也就在这时。安装一个名为dplyr的库,该库由ggplot2和Hadley编写的同一个人编写。...

install.packages("dplyr")

# The add it to the top of your file like ggplot.
library(dplyr)