我在上传 csv 文件时在 R 中遇到问题。由于某种原因,当使用 read.csv 函数时,将 csv 文件保存到数据框后,我的空值没有显示为空。有谁知道为什么 read.csv 函数不显示空值,但 read_csv 函数保留空值。注意:我是一名初学者,已经使用大型数据集和 R 工作了大约 5 周。
使用
read.csv
:
#Importing my csv file
(jan_data <- read.csv('202301-divvy-tripdata.csv'))
# Check for NULL values in the entire data frame
missing_values_df <- is.na(jan_data)
# Print the logical matrix indicating NULL values
print(missing_values_df)
# Count the number of NULL values in each column
print(colSums(missing_values_df))
输出:
ride_id rideable_type started_at ended_at start_station_name
0 0 0 0 0
start_station_id end_station_name end_station_id start_lat start_lng
0 0 0 0 0
end_lat end_lng member_casual
127 127 0
使用
readr::read_csv()
:
jan_data <- read_csv('202301-divvy-tripdata.csv')
#Check for NULL values in the entire data frame
missing_values_df <- is.na(jan_data)
#Print the logical matrix indicating NULL values
print(missing_values_df)
#Count the number of NULL values in each column
print(colSums(missing_values_df))```
输出:
ride_id rideable_type started_at ended_at start_station_name
0 0 0 0 26721
start_station_id end_station_name end_station_id start_lat start_lng
26721 27840 27840 0 0
end_lat end_lng member_casual
127 127 0
使用 na.strings=
中的默认
read.csv
参数和 na=
中的 read_csv
参数时,字符列的差异在于空字段中。尝试下面的代码,其中最后一行的第二个字段为空。
造成差异的原因是,默认情况下,
na.strings="NA"
中的read.csv
,因此空字段会导致零长度字符串,而在read_csv
中,默认值为na=c("", "NA")
,因此空字段会导致NA
(不是NULL) .
cat("A,B,C\na,b,c\nd,,e\n", file = "test.csv")
readr::read_csv("test.csv")
## ... snip ...
# A tibble: 2 × 3
A B C
<chr> <chr> <chr>
1 a b c
2 d <NA> e
read.csv("test.csv")
## A B C
## 1 a b c
## 2 d e