0

日付を要因とするデータセットがあります

data.frame に新しい列を作成するために、パッケージを使用して年と月を抽出しようとしましlubridateたが、うまくいきません。

    #load packages
    library(lubridate)

    #Create Dataset
    Data <- read.csv("C:/Users/TheKaspa/Dropbox/Bocconi/LM - Management/Tesi/WIP/Database/Elab.csv", header=TRUE)

#Get the year
Y <- year(Data$Activity_close)
Y

結果は

[1]  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1
 [26]  1  1  1  1  1  1  1  1  1  1  1  1 31  1  1  1  1  1  1  1  1  1  1  1  1
 [51]  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1
 [76]  1  1  1  1  1  1 31 31  1  1  1  1 31 31 31 31 31  1  1  1  1  1  1  1  1
[101]  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1 31 31 31 31
[126] 31 31 31  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1
[151]  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1
[176]  1  1  1  1  1  1  1  1  1 31 31  1  1  1  1  1  1  1  1  1  1  1  1  1  1
[201]  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1
[226]  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1
[251]  1  1 31  1 31  1 31  1  1  1  1 31  1  1  1 31 31 31 31 31 31 31  1  1  1
[276]  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1 31 31
[301] 31 31  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1
[326]  1  1  1  1  1  1

しかし、データは(からのサンプルsummary

1/12/2010 00:00:00
1/5/2010 00:00:00
1/6/2010 00:00:00
1/12/2011 00:00:00 
1/5/2011 00:00:00  
1/10/2010 00:00:00

私に何ができる?

4

3 に答える 3

1

as.Date を使用して文字列を日時に変換します。strftime を使用して、年の要素のみを抽出します。

    time <- "1/12/2010 00:00:00"

    timeformatted <- as.Date(time,"%d/%m/%Y %H:%M:%S")

    strftime(
        timeformatted,
        "%Y"
    )
    #[1] "2010"
于 2013-09-26T09:48:25.910 に答える