我编写的代码如下:
#外部数据源 x.csv,下面的列col1、col2,“response”均在数据源种
dfCellClean<-fread("./x.csv")
col1<-c("id","timeID")
col2<-c("width","long","thickness")
tmp<-dfCellClean[,c(col1,col2,"response"),with=F]
x1.csv上述代码运行成功,x2.csv上述代码运行不成功,去掉with=F后,成功了,哪个大哥能给我指导一下具体什么原因?

描述得有点费解啊,x1.csv和x2.csv是啥。

对于with参数的用法,通俗地说,data.table 和 data.frame 不同,在对列进行选取时是不需要加引号的,对应的就是默认的with=TRUE;当使用with=FALSE时,等于就是告诉它不要去找列名是col1的列,而是要去找列名是col1这个变量对应的字符串(也就是id和timeID)的列。

    FangGong
    x1.csv和x2.xls是不同的数据源,根据你建议我查清楚了。因为在上传文件的时候对不同格式分别使用了fread和read_excel,这样导致生成的文件分别为data.table和data.frame.
    谢谢你的建议,药到病除。