如何将 csv 加载到 R 中并能够在函数中使用它

How to load csv into R and be able to use it within a function

提问人:Ellery Vincent 提问时间:10/13/2023 最后编辑:DerfEllery Vincent 更新时间:10/14/2023 访问量:50

问:

每次我尝试加载并使用带有函数 (load_mix_data) 的 csv 文件时,我都会收到此错误,我无法弄清楚问题出在哪里。我可以在 R Studio 中看到该文件,但是当我尝试使用该函数时,出现错误。

“read.table(file = file, header = header, sep = sep, quote = quote, : 'file' 必须是字符串或连接”

file_path <- "~/Desktop/ADFG Black Bear Stable Isotope/SI_Sp.csv"
mix.filename <- read.table(file_path, header = TRUE, sep = ",", quote = "\"")

source.filename <- read.csv("Sources1_5_2021.csv")
discr.filename <- read.csv("DV_SIDER_omnivore.csv")

n.mod <-10

mix <- vector("list", n.mod)
#Define each model, note the factor or continuous effect

mix[[1]] <- load_mix_data(filename=mix.filename,
                          iso_names=c("C","N"),
                          factors=c(NULL),
                          fac_random=c(NULL),
                          fac_nested=c(NULL),
                          cont_effects=c(NULL))


head(mix.filename)
  sample sex age class season month year bait dayshunt skullen skulwid lengthWidth
1     93   M   2     J      S     5 2016  Yes        1  9.9375  4.8750     14.8125
2    112   M   7     A      S     5 2016   No        2 11.3125  6.5000     17.8125
3    109   M   7     A      S     5 2016   No        4 11.5625  6.1250     17.6875
4    180   M   5     A      S     5 2016  Yes        2 10.1875  5.6250     15.8125
5    226   F   3    SA      S     5 2017  Yes        2  9.7500  5.5625     15.3125
6    208   M  11     A      S     5 2016  Yes        1 12.2500  7.0625     19.3125
        C    N
1 -22.214 6.59
2 -20.284 5.94
3 -23.864 5.04
4 -22.964 5.42
5 -25.572 5.54
6 -23.454 7.03
r csv

评论

0赞 MrFlick 10/13/2023
这是您正在运行的确切代码吗?哪一行具体给你错误?
1赞 PGSA 10/13/2023
在窗口中,波浪号 () 指向环境变量中设置的任何内容。默认情况下,事实并非如此~R_USERC:/Users/[username]/DocumentsC:/Users/[username]
0赞 Ellery Vincent 10/13/2023
load_mix_data函数是我收到错误的地方

答:

1赞 Derf 10/13/2023 #1

OP 忘了提到从哪里来,我认为它来自对 CRAN 的快速搜索。问题是实际上不是所需的文件名,因为 DataFrame 是保存自 的输出。该函数所需的字符串是包含文件链接目录的字符串,在您的代码中是 .所以它实际上应该是load_mix_dataMixSIARmix.filenamemix.filenameread.table()file_path

mix[[1]] <- load_mix_data(filename=file_path,...)

评论

0赞 PGSA 10/13/2023
这难道不是很有趣吗?波浪号使用环境变量,而不是工作目录。Users/elleryvincent/Documents/Desktop/ADFG Black Bear Stable Isotope/SI_Sp.csvR_USER
0赞 Derf 10/13/2023
哦,谢谢,@PaulStaffordAllen我不知道。我只是在更改当前工作目录后对其进行了测试。顺便说一句,我不确定网站政策,我是否添加您的评论(关于波浪号)以改进我的答案?我对如何回复包含比答案本身更多/更好/正确信息的评论有点困惑。dirname("~")
1赞 PGSA 10/13/2023
我认为编辑它是一种很好的做法 - 如果需要,人们可以随时查看编辑历史记录。
0赞 Ellery Vincent 10/13/2023
嗨,是的,我通常加载文件没有问题,我会把 setwd 拿出来更清楚。问题是load_mix_data运行函数,这就是我收到错误的地方。