所以我在Python中处理的数据正在输出为.csv文件。我希望R能够以这样的方式读取.csv文件,使其成为一个数据帧,其中一些列实际上是向量。
这是否可能,我将如何格式化.csv以便可能发生这种情况?谢谢!
答案 0 :(得分:7)
首先,vectors只是一系列数据元素。 data frames是等长矢量的列表。
因此,您可以轻松地将数据框的each column作为向量引用。
df <- read.csv('C:\\Path\\To\\DataFile.csv')
v1 <- df[[1]] # by column number
v2 <- df[["col1"]] # by column name
v3 <- df$col1 # by column name
答案 1 :(得分:0)
你可以在r中读取csv,默认情况下它将是一个数据帧:
data<-read.csv("nameOfCSVFile.csv", header=T)
然后,您可以按列对数据框进行切片,并使用$
运算符将该列作为向量获取:data$header1
将数据框的第一列作为向量返回。
确保您的.csv文件符合您的要求 即
header1,header2,etc.
1,2,etc.
4,5, etc.
etc..
答案 2 :(得分:0)
实际上,数据框是矢量的集合。如果您希望以向量的形式获得数据,则只需使用子集函数:
df <- data.frame(matrix(rnorm(10), nrow=5))
df$X1
## [1] 1.05376208 0.05020266 1.79204302 -1.73712344 -1.29208706
is.vector(df$X1)
## [1] TRUE
因此,通过子集化,您可以获得数据框列X1
的矢量。