И gsub, и paste возвращают символьные объекты.Они отличаются, потому что это совершенно разные функции, которые вы, кажется, знаете по их использованию (gsub заменяет экземпляры вашего шаблона желаемым выводом в строке символов, а вставляет просто ... вставляет).
Что касается того, почему вы получаете цитаты, это не имеет ничего общего с gsub и не связано с тем фактом, что вы называете переменные / столбцы числами.В самом деле, попробуйте
names(docs_data) <- paste(1:8)
, и вы поймете, что у вас возникла та же проблема при вызове шаблона именования.Это в основном связано с тем, что R не хочет путать то, является ли число действительно числом или переменной, потому что это будет хаос (как 1 может относиться к переменной, а также к числу 1?), Поэтомув таких случаях он меняет число 1 на символ «1», которому могут быть присвоены имена.Например, обратите внимание, что
> 1 <- 3
Error in 1 <- 3 : invalid (do_set) left-hand side to assignment
> "1" <- 3 #no problem!
Так что R в основном исправляет это для вас!Это не проблема, когда вы называете что-то, используя символы.Наконец, простое исправление: просто добавьте символ перед номерами вашего шаблона именования, и вы сможете вызывать их без кавычек.Например:
file_names <- paste("file_",gsub("\\..*", "", doc_csv_names),sep="")
Нужно сделать трюк (или просто изменить «file_» на что угодно, если только он не пустой, потому что тогда у вас просто остались номера и та же проблема)!