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]项的值。