我得到的错误是:
之后缺少名字。操作
我在第10行调试/运行代码时得到它。任何人都知道解决方法吗?
1 function codebook_level() {
2
3 if(!require(pacman)) {
4 install.packages("pacman"); require(pacman)}
5 p_load(magrittr, data.table)
6 require(dplyr)
7
8
9 read_add_name_col <- function(file){
10 rn <- gsub(".csv", "", file, ignore.case=T)
11 spl <- strsplit(rn, "/") %>% unlist()
12 svy <- spl[length(spl)]
13 df <- fread(file)
14 df$survey_series <- svy
15 return(df)
....
答案 0 :(得分:1)
<-
不是JavaScript运算符。它将被解析为<
比较运算符,后跟-
。
但令人惊讶的是,这不是问题,尽管它可能是 问题。 Google表格实现了一种语言非常类似 JavaScript大约ES3(因此,很久以前)虽然不完全相同。那时,你不能使用关键字作为属性名称文字。所以问题标题中的具体问题是:
rn <- gsub(".csv", "", file, ignore.case=T)
// ---------------------------------^
要在ES5规范更改语法之前访问名为case
的属性,您必须使用括号表示法和字符串:ignore["case"]
而不是ignore.case
。
但同样,这只是问题中的错误;除非<-
是某种Sheets语言扩展,否则代码整体看起来可能还有其他问题。
我确实将“案例”编辑为[案例],以便解决了这个问题,但现在我在同一行上遇到了一般的“语法”错误。
嗯,是的。您必须处理围绕<-
的其他问题,而这些问题并非存在于其他非JavaScript主义中。令人印象深刻的是,解析器能够达到那么远,真的,但是下一行的sp1
令牌完全杀了它
看起来<-
应该是=
和rn
,这些都是变量。如果是这样的话:
=
(分配)运算符值得注意的是
gsub(".csv", "", file, ignore.case=T)
...看起来像很多,就像它试图使用命名参数一样。 JavaScript没有命名参数,该代码的真正功能是:
ignore.case=T
gsub(".csv", "", file, T)
...但仅评估T
一次。