read.csv() 读取 data.frame OK readr::read_csv() for the same data.frame 失败,为啥?
Posted
技术标签:
【中文标题】read.csv() 读取 data.frame OK readr::read_csv() for the same data.frame 失败,为啥?【英文标题】:read.csv() reads the data.frame OK readr::read_csv() for the same data.frame fails, why?read.csv() 读取 data.frame OK readr::read_csv() for the same data.frame 失败,为什么? 【发布时间】:2022-01-13 22:58:05 【问题描述】:下面,当我使用readr::read_csv()
读取我的data.frame 时,我的后续代码为yi
生成NA
。
但是当我使用 Base R 的 read.csv()
读取我的 data.frame 时,我的后续代码正确计算 yi
。
我想知道发生了什么事?
library(tidyverse)
d <- read_csv("https://raw.githubusercontent.com/fpqq/w/main/n.csv")
d2 <- read.csv("https://raw.githubusercontent.com/fpqq/w/main/n.csv")
d %>% group_by(study) %>% # change `d` to `d2` and compare the results
mutate(n = unlist(mean(c(nT,nC))),
N = nT+nC,
w = (nT+nC-2)*.8,
icc = .15,
yi = ifelse(assign_type=="group", yi*w, yi)
) %>% ungroup
【问题讨论】:
【参考方案1】:默认情况下read_csv()
将空字符串转换为NA
。
试试 d <- read_csv("https://raw.githubusercontent.com/fpqq/w/main/n.csv", na = c("NA"))
现在两个数据集应该是一样的。
【讨论】:
好吧,在我自己的代码中,我使用readxl::read_xlsx("d.xlsx", na = "NA")
在本地读取数据,但它再次不起作用。以上是关于read.csv() 读取 data.frame OK readr::read_csv() for the same data.frame 失败,为啥?的主要内容,如果未能解决你的问题,请参考以下文章
有没有办法使用 read.csv 从字符串值而不是 R 中的文件读取?