データ前処理を関数化しようと試みておりますが、3つほど気になるところがありエラーが出てしまうので質問させていただきます。よろしくお願い致します。

1, 関数の中に関数を入れても問題がないのでしょうか。
以下の関数でnumがきちんと働いてくれるか気になります。

syori <- function(variables,num){  
setwd("C:\\Users\\hoge\\Desktop")
names <- list.dirs("csv", full.names = F, recursive = FALSE)
files <- list.files("csv", full.names = F, pattern="csv",recursive = FALSE)
reading <- function(x){
library(dplyr)
setwd("C:\\Users\\hoge\\Desktop")
kaerichi<- fread(x) %>% select_(variables)%>% 
filter(Q1 == num) %>% 
mutate(cnum=num)
return(kaerichi)
}
 for (i in names) {
setwd("C:\\Users\\hoge\\Desktop\\csv")
mypath <- file.path(getwd(), paste0(i,".csv"))
  assign(i, reading(mypath))
 }
}
  all <- rbind(paste(names,collapse=",")) %>% as.data.frame()
  return(all)
}

2,また、上記の関数の中のfreadに対して以下のエラーが出てしまいます。
どのように対処すべきでしょうか?
file.namesでとった"hoge.csv"の形と
file.path(getwd(), file.names)から.csvを落としたもの)でとった
"C:\\Users\\hoge\\Desktop"の形の両方共試しています。

Error in fread(x) : 
'input' must be a single character string containing a file name,
a command, full path to a file,
a URL starting 'http[s]://', 'ftp[s]://' or 'file://', or the input data itself

3, file.namesで取得したファイル名をassignでデータフレーム名にし、rbindで一気にタテに結合したいのですが
rbind(file.names(hogehoge))でいけるものでしょうか?
file.namesだとchrの型になっているのでカンマ区切りにする必要があるでしょうか?

http://qiita.com/uri/items/e162302ce8a38b009660 を参照しました。

3の解答
3が自己解決?したので追記しておきます。
paste0(file.names,collapse=",")で全部つながりました。

追記

child2 <- syori(quote(c(ID,hensuu,...,Q122)),2)

を実行すると、quoteの中身が返ってきて困っています。
本来ならディレクトリの中のcsvをうまく処理したものが帰ってくるはずなのですが。

追記2

all <- rbind(paste(names,collapse=","))

が原因のようです。rbindの中を手書きにするとうまくいくのですが。
paste0にしても変わらないです。型はcharacterです。

→crayfish44さんの投稿を参考に

rbind(eval(parse(text=paste0(names,collapse=","))))

と書き換えましたが

Error in parse(text = paste0(names, collapse = ",")) : 
<text>:1:4: unexpected ','

というエラーが出ます。