当我导入 csv 文件时,R 无法将 NA 识别为缺失数据
R does not recognize NA as missing data when I am importing a csv file
在我的第一个 R 脚本中,我创建了一个大型数据集并导出为 csv 文件。
在我的第二个 R 脚本中,我通过每个 SampleID 导入来分析数据。
问题是 R 没有将 NA 识别为缺失。如何将 csv 文件导入 R 以便我的数据被识别为数字?
谢谢。
### R Script One
SampleID <- c(1,1, 2,2, 3,3, 4,4)
x1 <- runif(8) * 10
x2 <- runif(8) * 10
my_df<- as.data.frame(cbind(SampleID, x1, x2))
my_df[2,3] <- NA
my_df[5,2] <- NA
write.csv(my_df, "my_df.csv", row.names = FALSE) #write out csv file from first R script
### R Script Two
library(sqldf)
j <- 3
select <- paste0("select * from file where SampleID=",j,"")
my_df2 <- read.csv.sql("my_df.csv", select) #Import only certain records into second R script
mode(my_df2$x1)
读取csv文件后,可以使用readr::type_convert()
转换列类型。
library(read)
my_df2 <- read.csv.sql("./Downloads/my_df.csv", select) %>% readr::type_convert()
mode(my_df2$x1)
[1] "numeric"
在我的第一个 R 脚本中,我创建了一个大型数据集并导出为 csv 文件。
在我的第二个 R 脚本中,我通过每个 SampleID 导入来分析数据。
问题是 R 没有将 NA 识别为缺失。如何将 csv 文件导入 R 以便我的数据被识别为数字?
谢谢。
### R Script One
SampleID <- c(1,1, 2,2, 3,3, 4,4)
x1 <- runif(8) * 10
x2 <- runif(8) * 10
my_df<- as.data.frame(cbind(SampleID, x1, x2))
my_df[2,3] <- NA
my_df[5,2] <- NA
write.csv(my_df, "my_df.csv", row.names = FALSE) #write out csv file from first R script
### R Script Two
library(sqldf)
j <- 3
select <- paste0("select * from file where SampleID=",j,"")
my_df2 <- read.csv.sql("my_df.csv", select) #Import only certain records into second R script
mode(my_df2$x1)
读取csv文件后,可以使用readr::type_convert()
转换列类型。
library(read)
my_df2 <- read.csv.sql("./Downloads/my_df.csv", select) %>% readr::type_convert()
mode(my_df2$x1)
[1] "numeric"