我用R导入csv文件时遇到问题:
要导入的示例行:
2010-07-27;91
2010-07-26;93
2010-07-23;88
Run Code Online (Sandbox Code Playgroud)
我使用声明:
data <- read.csv2(file="...", sep=";", dec=".", header=FALSE)
Run Code Online (Sandbox Code Playgroud)
当我尝试将这些数据与使用统计分析产生的其他数据进行汇总时cbind,日期显示为整数,因为它是作为因子导入的.
如果我尝试将其显示为字符串使用as.character,则数字数据也会转换为字符,因此它们无法用于统计过程.
Mar*_*rek 25
使用colClasses参数:
data <- read.csv2(file="...", sep=";", dec=".", header=FALSE,
colClasses=c("Date",NA))
Run Code Online (Sandbox Code Playgroud)
NA 表示"默认进行"
导入后,你可以转换factor到Date通过
data[[1]] <- as.Date(data[[1]])
Run Code Online (Sandbox Code Playgroud)
也许您想将字符值转换为有意义的时间值.在这种情况下,POSIXt时间对象是一个不错的选择.
鉴于你的数据文件,我会做类似的事情.
data <- read.table(file="...", sep = ";", as.is = TRUE)
data[,1] <- strptime(data[,1], "%Y-%m-%d")
Run Code Online (Sandbox Code Playgroud)
在帮助中查找strptime以获取更多详细信息.
注意:如果您要指定文件的所有属性,请使用read.table.所有其他read.xxx版本的唯一目的是简化表达式,因为默认设置已设置.这里使用了read.csv2,因为它默认为sep =';'.因此,请勿再次指定.不必指定这是命令存在的全部原因.就个人而言,我只使用read.table,因为我永远不会记住所有变种的名称/默认值.在你的情况下,它也是最简短的调用,因为它满足你的标题和dec默认值.
| 归档时间: |
|
| 查看次数: |
55678 次 |
| 最近记录: |