gpt4 book ai didi

r - 错误 write_csv 认为 data.frame 不为 TRUE,而 write.csv 为 TRUE

转载 作者:行者123 更新时间:2023-12-02 17:36:46 25 4
gpt4 key购买 nike

我正在尝试写出一个 .csv 文件。

readr::write_csv 似乎认为我的文件不是 data.frame

当我运行时:

PriceCostRaw <- write_csv(PriceCostRaw, "Price Cost Raw.csv")

它返回此错误:

Error in write_delim(x, path, delim = ",", na = na, append = append, 
col_names = col_names) :
is.data.frame(x) is not TRUE

它实际上是一个data.frame:

> str(PriceCostRaw)
Classes ‘tbl_df’, ‘tbl’ and 'data.frame': 192 obs. of 7 variables:

> is.data.frame(PriceCostRaw)
[1] TRUE

utils::write.csv 似乎工作得很好。

为什么 write_csv 会发生这种情况?我可以检查其他测试以确保我的数据文件或变量结构发生奇怪的情况吗?

我无法发布数据本身,因为它是专有的。

最佳答案

在我的系统上重现 write_delim() ... is.data.frame(x) is not TRUE 问题:

library(purrr)
library(dplyr)
library(readr)
library(tidyr)
library(purrrlyr)
iris %>%
group_by(Species) %>%
nest() %>%
by_row(~write_csv(.$data,
path = file.path(tempdir(), paste0(.$Species, ".csv"))))
# Error in write_delim(x, path, delim = ",", na = na, append = append,
# col_names = col_names, :
# is.data.frame(x) is not TRUE

可能有一种更简单的方法,我试图将数据框写入许多 csv 文件。受到这个 Stackoverflow 问题的回答的启发: Write multiple data frames to csv-file using purrr::map

write_csv() 替换为基本 R 版本 write.csv() 时,该代码确实有效:

iris %>%
group_by(Species) %>%
nest() %>%
by_row(~write.csv(.$data,
file = file.path(tempdir(), paste0(.$Species, ".csv"))))

成功写入许多 csv 文件,每个文件都有一个物种名称。

关于r - 错误 write_csv 认为 data.frame 不为 TRUE,而 write.csv 为 TRUE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53213463/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com