0

Rにロードしたcsvファイルを使用して分析を試みています。たとえば、特定の値を取得するために、test [[3]] [[1]]を介して特定の値にアクセスするために次のことを行っていました。

test <- read.csv(file = "test.csv")
test <- data.frame(lapply(test, as.character), stringsAsFactors=FALSE)

そうでなければ、私は次のようなものを得たでしょう:

> chicago[[3]][[1]]
[1] 08/02/2002 11:00:00 AM
19747 Levels: 01/01/2001 03:49:00 AM 01/01/2001 06:17:00 PM 01/01/2001 12:00:00 AM ... 12/31/2015 11:46:00 AM

1 つの列が日付を保存しているので、POSIXlt に変換していました。

test[[3]] <- strptime(test[[3]], format='%m/%d/%Y %I:%M:%S %p') 

値は期待どおりに変更されています。次に例を示します。

01/28/2004 06:30:00 PM -> 2004-01-28 18:30:00

今値にアクセスしようとすると、たとえば test[[3]][[1]] は特定の日付を与えないことに気付きました-代わりに、各行の毎秒を含むリストを取得します。

少しテストしたところ、POSIXit タイプが少し「異なる」ことがわかりました。上記の値は、次のようなある種のリストのように見えることを意味します。

> unlist(unclass(value))
   sec    min   hour   mday    mon   year   wday   yday  isdst   zone gmtoff 
   "0"    "0"   "11"    "2"    "7"  "102"    "5"  "213"    "1" "CEST"     NA 

だから私の質問は: 列全体に関するリストの代わりに、「2004-01-28 18:30:00」のような値を取得する方法はありますか?

4

1 に答える 1

3

あなたはあなたの人生をあまりにも困難にしています。列全体をDate または Datetime に解析できます。の必要はありませんlapply

あなたは(一般的に)代表を望んでいませんPOSIXlt。私の (比較的最近の)いつでもパッケージ ( CRANにもある) などの既存のパッケージfactorを調べてください。

しかし、あなたの投稿には再現可能な例が含まれていないため、より具体的な手順についてはお手伝いできません。

于 2016-11-13T22:55:26.867 に答える