2017-09-18 9 views
0

私はRの初心者です。データフレームに1分分と2分だけを抽出する方法を探しています。私はいくつかのライブラリを試しましたが、成功していません。ここでデータフレームの抽出時間

は一瞬のために私のコードです:

[1] "2016-08-19 17:45:19" "2016-08-19 17:45:19" "2016-08-19 17:45:19" "2016-08-19 17:45:19" 
    [5] "2016-08-19 18:59:19" "2016-08-19 18:59:19" "2016-08-19 18:59:19" "2016-08-19 18:59:19" 
    [9] "2016-08-19 18:59:19" "2016-08-19 18:59:19" "2016-08-19 18:59:19" "2016-08-19 18:59:19" 
    [13] "2016-08-19 19:27:07" "2016-08-19 19:27:07" "2016-08-19 19:27:07" "2016-08-19 19:27:07" 
    [17] "2016-08-19 19:27:07" "2016-08-19 19:27:07" "2016-08-19 23:33:46" "2016-08-19 23:33:46" 
    [21] "2016-08-19 23:33:46" "2016-08-19 23:33:46" "2016-08-20 07:13:32" "2016-08-20 07:13:32" 
    [25] "2016-08-20 07:13:32" "2016-08-20 07:13:32" "2016-08-20 08:52:12" "2016-08-20 08:52:12" 
    [29] "2016-08-20 08:52:12" "2016-08-20 08:52:12" "2016-08-20 10:06:53" "2016-08-20 10:06:53" 
    [33] "2016-08-20 10:06:53" "2016-08-20 10:06:53" "2016-08-20 10:06:56" "2016-08-20 10:06:56" 
+0

[本](https://stackoverflow.com/questions/36707383/extract-time-from-timestamp)の重複? – simone

答えて

1

hms <- sub('\\d+-\\d+-\\d+ ', '', daily_hour)は、文字列の時:分:秒の部分を文字列として抽出します。それらを別の変数に分割する必要がある場合、2つのオプションがあります。

# Option 1 
hours <- sub(':\\d+:\\d+', '', hms) 
mins <- sub('\\d+:(\\d+):\\d+', '\\1', hms) 
secs <- sub('\\d+:\\d+:', '', hms) 

# Option 2 
daily_hour <- as.POSIXct(daily_hour) 
hours <- as.numeric(format(daily_hour, "%H")) 
mins <- as.numeric(format(daily_hour, "%M")) 
secs <- as.numeric(format(daily_hour, "%S")) 
+0

ありがとうございます –

0

あなたのデータを仮定します:

daily_hour = data.frame(time = c("2016-08-19 17:45:19", "2016-08-19 17:45:36")) 

その後sep = " "ことによってそれを分割ここ

daily_data = read.csv("/Us/eco.csv", header=TRUE, stringsAsFactors=FALSE) 

daily_hour= daily_data$time 

daily_hour 

のような私の日付の外観がどのようですリストの2番目の要素を取ると、hh:mm:ss:

のベクトルが得られます
sapply(daily_hour$time, function(x) strsplit(as.character(x), " ")[[1]][2]) 
0

日付形式が一貫している場合は、substrも使用できます。おそらく

substr(daily_hour, 12, 19) 

substr("2016-08-19 17:45:19", 12, 19) 
[1] "17:45:19" 
関連する問題