R中的数据帧使用
我有一个R中的数据帧使用,r,R,我有一个.csv文件,我把它作为数据帧(比如df)读入了R。 第一列是mm/dd/yyyy格式的日期。第二列是一个双精度数字。我想做的是创建一个新的数据帧,如: df2<-data.frame(date=c(df[10,1],df[15,2]),num=c(111,222)) df2通过将列类向量指定为read.table的colClasses参数,可以控制R如何解释正在读取的数据类。否则R将使用type.convert,它将根据R的逻辑定义以“逻辑”方式转换字符向量。如果你不熟悉它们,
.csv
文件,我把它作为数据帧(比如df)读入了R。
第一列是mm/dd/yyyy格式的日期。第二列是一个双精度数字。我想做的是创建一个新的数据帧,如:
df2<-data.frame(date=c(df[10,1],df[15,2]),num=c(111,222))
df2通过将列类向量指定为read.table
的colClasses
参数,可以控制R如何解释正在读取的数据类。否则R将使用type.convert
,它将根据R的逻辑定义以“逻辑”方式转换字符向量。如果你不熟悉它们,这显然有一些潜在的怪癖
您还可以通过在read.table
中指定stringsAsFactors=FALSE
作为参数来防止R创建因子,这通常比指定所有colclass
更简单
您可以使用strtime()
格式化日期。考虑到所有这些因素,我建议您将数据读入R,而不要将字符数据转换为因子,然后使用strptime
格式化
df <- read.csv("myFile.csv", stringsAsFactors = FALSE)
#Convert time to proper time format
df$time <- strptime(df$time, "%m/%d/%Y")
df如果您不想在每次读入/构造数据帧时键入stringsAsFactors=FALSE。您可以从一开始就指定
options(stringsAsFactors=FALSE)
如果你提供一个小的可复制的例子,它将有很大的帮助(对我们也一样)。你可能看到因子变量是如何在控制台上打印的。。。这些水平并不是真正的值,而是可能值的向量。这些级别之上的行具有df[10,1]项的值。