Меры предосторожности для новичков при использовании языка R для чтения и записи файлов (csv/txt/excel/rdata и т. д.)
Меры предосторожности для новичков при использовании языка R для чтения и записи файлов (csv/txt/excel/rdata и т. д.)

Эта статья предназначена для новичков в языке R, особенно для новичков в области биомедицины. Пожалуйста, не критикуйте~.

в предыдущем твите,Мы используем два видео, чтобы подробно представитьУстановка языка R, rtools, Rstudio и пакетов R.,Решите две самые большие проблемы, с которыми новички сталкиваются в первую очередь!

Вероятно, наиболее подходящее руководство по установке языка R и пакета R для начинающих. Вероятно, лучшее руководство по установке пакетов R.

Дальше всех ждет Чтение данных на языке Р. Проблема с сохранением данных в другом формате!

Большинство данных, с которыми каждый сталкивается в повседневной жизни, по-прежнему должны быть данными Excel, но для языка R мы должны считывать внешние данные в R для выполнения различных операций. Для наших окончательных данных нам может потребоваться сохранить их в формате Excel.

Эти две задачи очень просты для тех, кто умеет это делать, и существует множество способов их достижения, но новички часто сталкиваются с ошибками. Сегодня с точки зрения новичка я расскажу о проблемах чтения и сохранения данных на языке R.

Содержание этого выпуска:

  • Чтение данных на языке R
    • Excel
    • csv
    • txt
    • другой
  • Записать файл (сохранить из Рязыка в другой формат)

Чтение данных на языке R

Excel

Этот формат слишком распространен,Большинство из нас используют этот формат в повседневной жизни.。Например, есть такойexcelдокумент:data.xlsx,Содержимое внутри него такое:

Теперь нам нужно прочитать это вRв。Я рекомендую вам использоватьreadxlЧтение пакетовExcelдокумент。Сначала нам нужно установить этоRСумка,Если вы все еще не знаете, какRОбщая установка пакета4способ,Спешите посмотреть это видео:Вероятно, лучшее руководство по установке пакетов R.

Язык кода:javascript
копировать
install.packages("readxl")

После установки нам нужно загрузить этот пакет R, чтобы использовать его:

Язык кода:javascript
копировать
library(readxl)

Тогда мы сможем прочитать этот файл,При чтении необходимо указать, где находится ваш файл! Если путь к файлу написан неправильно, появится сообщение об ошибке, подобное следующему. Как правило, оно сообщит вам, что ваш путь написан неправильно, или файл не найден, файл не существует, соединение невозможно. открыл и т.д. ошибка! !

Язык кода:javascript
копировать
tmp <- read_xlsx("E:/data.xlsx", col_names = T)

## Error: `path` does not exist: ‘E:/R/data.xlsx’

На данный момент вам необходимо подтвердить,Это твоеdata.xlsxдокументгде именно!когда вы дадите ему правильный путь,Он не сообщит об ошибке。Также обратите внимание/ \ , " ", эти знаки препинания необходимо вводить на английском языке!

Язык кода:javascript
копировать
tmp <- read_xlsx("E:/R/data.xlsx", col_names = T)

tmp
## # A tibble: 29 × 6
##     серийный номер Уход пол   возраст систолическое артериальное давление  содержание сахара в крови
##    <dbl> <chr>    <chr> <dbl>  <dbl> <dbl>
##  1     1 Способ 1    мужской       56    134   6.3
##  2     2 Способ 2    женский       45    123   4.6
##  3     3 Способ 3    мужской       67    112   7.4
##  4     4 Способ 4    женский       56    113   8.5
##  5     5 Способ 5    мужской       78    115   6.3
##  6     6 Способ 6    женский       56    116   4.6
##  7     7 Способ 7    мужской       67    134   7.4
##  8     8 Способ 8    женский       45    123   8.5
##  9     9 Способ 9    мужской       67    112   6.3
## 10    10 Способ 10   женский       87    113   4.6
## # … with 19 more rows
## # ℹ Use `print(n = ...)` to see more rows

Таким образом, мы успешно читаем файл в R!

Помимо проблем с путями, есть несколько моментов, на которые новичкам необходимо обратить внимание:

  • Это указываетпримердокументдаиметь Списокиз,Поэтому я добавил это при чтенииcol_names=TЭтот параметр,Нетимя линии Оно будет изменено наF
  • если тыизданныеиспользовать ПонятноОбъединить/разделить ячейки、различные форматы、Формулы и т. д.,Будет сообщено об ошибке!
  • этотдокументда.xlsxФорматиз,если не,Тогда вам нужно использовать другую функцию,напримерread_xls()функция чтения.xlsокончаниеиздокумент;
  • Если вы столкнулись с искаженными иероглифами при чтении по-китайски,Тогда велика вероятность, что проблема с кодировкой.,этотда Очень сложныйизвопрос:
    • Сначала вы можете нажать «Инструменты» в rstudio. - Global Options,Доберитесь до следующего интерфейса,Измените кодировку по умолчанию наutf-8,Затем закройте рстудию,перечитать;
    • Иногда проблему также можно решить путем непосредственного обновления пакета R /R/rstudio/ и повторного сохранения файла как utf-8;
    • Если это не сработает, просто зайдите в Baidu! Подробный разбор конкретных ситуаций!

csv

csvдокументда Что-то вродефайлы, разделенные запятыми,После открытия он выглядит точно так же, как Excel.,Не спрашивайте, почему вы не видите запятую...

Обычно рекомендуется сохранять файл Excel в формате CSV, поскольку его удобно читать на языке R и его можно читать без установки пакета R~

Язык кода:javascript
копировать
csv <- read.csv("E:/R/data.csv", header = T)

csv
##    серийный номер Уход пол возраст систолическое артериальное давление содержание сахара в крови
## 1     1    Способ 1   мужской   56    134  6.3
## 2     2    Способ 2   женский   45    123  4.6
## 3     3    Способ 3   мужской   67    112  7.4
## 4     4    Способ 4   женский   56    113  8.5
## 5     5    Способ 5   мужской   78    115  6.3
## 6     6    Способ 6   женский   56    116  4.6
## 7     7    Способ 7   мужской   67    134  7.4
## 8     8    Способ 8   женский   45    123  8.5
## 9     9    Способ 9   мужской   67    112  6.3
## 10   10   Способ 10   женский   87    113  4.6
## 11   11   Способ 11   мужской   56    115  7.4
## 12   12   Способ 12   женский   78    116  8.5
## 13   13   Способ 13   мужской   67    134  6.3
## 14   14   Способ 14   женский   56    123  4.6
## 15   15   Способ 15   мужской   78    112  7.4
## 16   16   Способ 16   женский   56    113  8.5
## 17   17   Способ 17   мужской   45    115  6.3
## 18   18   Способ 18   женский   67    116  4.6
## 19   19   Способ 19   мужской   56    134  7.4
## 20   20   Способ 20   женский   78    123  8.5
## 21   21   Способ 21   мужской   56    112  6.3
## 22   22   Способ 22   женский   67    113  4.6
## 23   23   Способ 23   мужской   45    115  7.4
## 24   24   Способ 24   женский   67    116  8.5
## 25   25   Способ 25   мужской   87    134  6.3
## 26   26   Способ 26   женский   56    123  4.6
## 27   27   Способ 27   мужской   78    112  7.4
## 28   28   Способ 28   женский   67    113  8.5
## 29   29   Способ 29   мужской   56    115  6.3

Или используйтеread.table()функция чтения。

Язык кода:javascript
копировать
csv <- read.table("E:/R/data.csv", header = T,
                  sep = "," # Укажите разделитель! !
                  )

csv
##    серийный номер Уход пол возраст систолическое артериальное давление содержание сахара в крови
## 1     1    Способ 1   мужской   56    134  6.3
## 2     2    Способ 2   женский   45    123  4.6
## 3     3    Способ 3   мужской   67    112  7.4
## 4     4    Способ 4   женский   56    113  8.5
## 5     5    Способ 5   мужской   78    115  6.3
## 6     6    Способ 6   женский   56    116  4.6
## 7     7    Способ 7   мужской   67    134  7.4
## 8     8    Способ 8   женский   45    123  8.5
## 9     9    Способ 9   мужской   67    112  6.3
## 10   10   Способ 10   женский   87    113  4.6
## 11   11   Способ 11   мужской   56    115  7.4
## 12   12   Способ 12   женский   78    116  8.5
## 13   13   Способ 13   мужской   67    134  6.3
## 14   14   Способ 14   женский   56    123  4.6
## 15   15   Способ 15   мужской   78    112  7.4
## 16   16   Способ 16   женский   56    113  8.5
## 17   17   Способ 17   мужской   45    115  6.3
## 18   18   Способ 18   женский   67    116  4.6
## 19   19   Способ 19   мужской   56    134  7.4
## 20   20   Способ 20   женский   78    123  8.5
## 21   21   Способ 21   мужской   56    112  6.3
## 22   22   Способ 22   женский   67    113  4.6
## 23   23   Способ 23   мужской   45    115  7.4
## 24   24   Способ 24   женский   67    116  8.5
## 25   25   Способ 25   мужской   87    134  6.3
## 26   26   Способ 26   женский   56    123  4.6
## 27   27   Способ 27   мужской   78    112  7.4
## 28   28   Способ 28   женский   67    113  8.5
## 29   29   Способ 29   мужской   56    115  6.3

Разве это не очень просто? Обратите внимание на те же моменты, что и в Excel~.

txt

txt также является нашим распространенным типом файлов. Обычно такие данные можно прочитать напрямую, без установки пакета R.

Теперь у нас есть такой текстовый файл,это может выглядеть неправильно,Но на самом деле это очень мило~~,Не обманывайтесь внешностью,такжеНикогда не пытайтесь выровнять его с помощью пробела! !

txtдаtabразделение клавишиздокумент,во время чтения,Обязательно укажите разделитель:

Язык кода:javascript
копировать
tmp <- read.table("tmp.txt",sep = "\t", # Разделитель должен быть указан
                  header = T)
tmp
##    серийный номер Уход пол возраст систолическое артериальное давление содержание сахара в крови
## 1     1    Способ 1   мужской   56    134  6.3
## 2     2    Способ 2   женский   45    123  4.6
## 3     3    Способ 3   мужской   67    112  7.4
## 4     4    Способ 4   женский   56    113  8.5
## 5     5    Способ 5   мужской   78    115  6.3
## 6     6    Способ 6   женский   56    116  4.6
## 7     7    Способ 7   мужской   67    134  7.4
## 8     8    Способ 8   женский   45    123  8.5
## 9     9    Способ 9   мужской   67    112  6.3
## 10   10   Способ 10   женский   87    113  4.6
## 11   11   Способ 11   мужской   56    115  7.4
## 12   12   Способ 12   женский   78    116  8.5
## 13   13   Способ 13   мужской   67    134  6.3
## 14   14   Способ 14   женский   56    123  4.6
## 15   15   Способ 15   мужской   78    112  7.4
## 16   16   Способ 16   женский   56    113  8.5
## 17   17   Способ 17   мужской   45    115  6.3
## 18   18   Способ 18   женский   67    116  4.6
## 19   19   Способ 19   мужской   56    134  7.4
## 20   20   Способ 20   женский   78    123  8.5
## 21   21   Способ 21   мужской   56    112  6.3
## 22   22   Способ 22   женский   67    113  4.6
## 23   23   Способ 23   мужской   45    115  7.4
## 24   24   Способ 24   женский   67    116  8.5
## 25   25   Способ 25   мужской   87    134  6.3
## 26   26   Способ 26   женский   56    123  4.6
## 27   27   Способ 27   мужской   78    112  7.4
## 28   28   Способ 28   женский   67    113  8.5
## 29   29   Способ 29   мужской   56    115  6.3

другой

еслидаspssсоздание программного обеспеченияиз.savдокумент,Можно использоватьforeignСумкасерединаизread.spss()функция чтения,Или используйтеhavenСумкасерединаизread_sav()

Эти два пакета необходимо установить перед использованием~

Язык кода:javascript
копировать
# чтение иностранной посылки
library(foreign)
spss <- Foreign::read.spss("пример03-05.sav",to.data.frame = T)

spss
##    no  hb
## 1   1 112
## 2   2 137
## 3   3 129
## 4   4 126
## 5   5  88
## 6   6  90
## 7   7 105
## 8   8 178
## 9   9 130
## 10 10 128
## 11 11 126
## 12 12 103
## 13 13 172
## 14 14 116
## 15 15 125
## 16 16  90
## 17 17  96
## 18 18 162
## 19 19 157
## 20 20 151
## 21 21 135
## 22 22 113
## 23 23 175
## 24 24 129
## 25 25 165
## 26 26 171
## 27 27 128
## 28 28 128
## 29 29 160
## 30 30 110
## 31 31 140
## 32 32 163
## 33 33 100
## 34 34 129
## 35 35 116
## 36 36 127
Язык кода:javascript
копировать
# чтение пакета убежища
library(haven)
spss <- read_sav("пример03-05.sav")

спсс
## # A tibble: 36 × 2
##       no    hb
##    <dbl> <dbl>
##  1     1   112
##  2     2   137
##  3     3   129
##  4     4   126
##  5     5    88
##  6     6    90
##  7     7   105
##  8     8   178
##  9     9   130
## 10    10   128
## # … with 26 more rows
## # ℹ Use `print(n = ...)` to see more rows

Этот пример относительно прост,Иногда необходимо указать конкретный метод кодирования,Это можно сделать с помощью?read_sav/?read.spssПосмотреть изменение кодировкииз Способ。

havenэтот Сумкада Специально создан для чтенияspss/SAS/STATAФорматиздокументиз~

еслидаrdata/Rdata/RDataдокумент,Это формат, который поставляется с R,прямойload()Вот и все,нодахотетьОбязательно укажите правильный путь к файлу! ! илитакже Можетпрямойдвойной щелчокrdata/Rdata/RDataдокумент!

Язык кода:javascript
копировать
load(file = "tmp.rdata")
tmp
##    серийный номер Уход пол возраст систолическое артериальное давление содержание сахара в крови
## 1     1    Способ 1   мужской   56    134  6.3
## 2     2    Способ 2   женский   45    123  4.6
## 3     3    Способ 3   мужской   67    112  7.4
## 4     4    Способ 4   женский   56    113  8.5
## 5     5    Способ 5   мужской   78    115  6.3
## 6     6    Способ 6   женский   56    116  4.6
## 7     7    Способ 7   мужской   67    134  7.4
## 8     8    Способ 8   женский   45    123  8.5
## 9     9    Способ 9   мужской   67    112  6.3
## 10   10   Способ 10   женский   87    113  4.6
## 11   11   Способ 11   мужской   56    115  7.4
## 12   12   Способ 12   женский   78    116  8.5
## 13   13   Способ 13   мужской   67    134  6.3
## 14   14   Способ 14   женский   56    123  4.6
## 15   15   Способ 15   мужской   78    112  7.4
## 16   16   Способ 16   женский   56    113  8.5
## 17   17   Способ 17   мужской   45    115  6.3
## 18   18   Способ 18   женский   67    116  4.6
## 19   19   Способ 19   мужской   56    134  7.4
## 20   20   Способ 20   женский   78    123  8.5
## 21   21   Способ 21   мужской   56    112  6.3
## 22   22   Способ 22   женский   67    113  4.6
## 23   23   Способ 23   мужской   45    115  7.4
## 24   24   Способ 24   женский   67    116  8.5
## 25   25   Способ 25   мужской   87    134  6.3
## 26   26   Способ 26   женский   56    123  4.6
## 27   27   Способ 27   мужской   78    112  7.4
## 28   28   Способ 28   женский   67    113  8.5
## 29   29   Способ 29   мужской   56    115  6.3

еслидаrdsдокумент,Это также широко используемый формат в R.,использоватьreadRDS()функция Вот и все,такжехотетьОбратите внимание на путь к файлу

Язык кода:javascript
копировать
tmp <- readRDS(file = "tmp.rds") 
tmp
##    серийный номер Уход пол возраст систолическое артериальное давление содержание сахара в крови
## 1     1    Способ 1   мужской   56    134  6.3
## 2     2    Способ 2   женский   45    123  4.6
## 3     3    Способ 3   мужской   67    112  7.4
## 4     4    Способ 4   женский   56    113  8.5
## 5     5    Способ 5   мужской   78    115  6.3
## 6     6    Способ 6   женский   56    116  4.6
## 7     7    Способ 7   мужской   67    134  7.4
## 8     8    Способ 8   женский   45    123  8.5
## 9     9    Способ 9   мужской   67    112  6.3
## 10   10   Способ 10   женский   87    113  4.6
## 11   11   Способ 11   мужской   56    115  7.4
## 12   12   Способ 12   женский   78    116  8.5
## 13   13   Способ 13   мужской   67    134  6.3
## 14   14   Способ 14   женский   56    123  4.6
## 15   15   Способ 15   мужской   78    112  7.4
## 16   16   Способ 16   женский   56    113  8.5
## 17   17   Способ 17   мужской   45    115  6.3
## 18   18   Способ 18   женский   67    116  4.6
## 19   19   Способ 19   мужской   56    134  7.4
## 20   20   Способ 20   женский   78    123  8.5
## 21   21   Способ 21   мужской   56    112  6.3
## 22   22   Способ 22   женский   67    113  4.6
## 23   23   Способ 23   мужской   45    115  7.4
## 24   24   Способ 24   женский   67    116  8.5
## 25   25   Способ 25   мужской   87    134  6.3
## 26   26   Способ 26   женский   56    123  4.6
## 27   27   Способ 27   мужской   78    112  7.4
## 28   28   Способ 28   женский   67    113  8.5
## 29   29   Способ 29   мужской   56    115  6.3

Это самые распространенные. После того, как вы освоите эти простые, вы можете попробовать более сложные, и вы обязательно столкнетесь с ними в будущем. Но, взяв за основу эти простые, я верю, что вы сможете решать такие проблемы быстрее~.

Записывать файлы (сохранять из R в другие форматы)

Я думаю, что записывать файлы проще, чем читать файлы. Если вы действительно не знаете, как сохранять, есть простой способ: здесь:

Просто нажмите Сохранить,сгенерирует файл в вашем текущем рабочем каталогеRDataдокумент,в следующий разпрямойloadилидвойной щелчок Вот и всеоткрой тебя быстроиз所иметь东西!!!

Не рекомендуется сохранять непосредственно в формате Excel. Рекомендуется использовать формат csv.

Если вы хотите сохранить текущий файл в формате CSV, вы можете использовать следующую функцию:

Язык кода:javascript
копировать
# Сохраните фрейм данных tmp как csv.
write.csv(tmp, # объект для сохранения
          file = "D:/111.csv", # Где и в каком формате сохранить, не забудьте .csv!
          quote = F, # без кавычек
          row.names = F, # имя линии
          col.names = T # Список
          )

write.table(tmp,
            file = "D:/111.csv", # Где и в каком формате сохранить, не забудьте .csv!
            sep = ",",  # Обязательно Укажите разделитель! !!
            quote = F, # без кавычек
            row.names = F, # имя линии
            col.names = T # Список
            )

Если вы хотите сохранить файл в формате или txt, вы можете использовать следующую функцию:

Язык кода:javascript
копировать
write.table(tmp,
            file = "D:/222.txt",
            sep = "\t", # Не забудьте Укажите разделитель! !
            quote = F, # без кавычек
            row.names = F, # имя линии
            col.names = T # Список
            )

еслихотетьсохранить какrdata/Rdata/RDataдокумент,прямойиспользоватьsave()функция,Просто и удобно,Просто загрузите его напрямую в следующий раз,Достаточно хорошо Сохраняйте несколько объектов одновременно!!

Рекомендуется выбирать его при сохранении.rdata/Rdata/RData/rds,удобный,официальный!

Язык кода:javascript
копировать
save(tmp,csv, # Сохраняйте несколько объектов одновременно
     file = "tmp1.rdata")

сохранить какrdsФормат:

Язык кода:javascript
копировать
saveRDS(tmp, file = "tmp.rds")

Вышеупомянутое является общим чтением и записью данных. Наконец, я хотел бы отметить следующие моменты:

  • Метод ввода должен быть знаком препинания на английском языке!
  • Путь к файлу должен быть написан правильно!
  • Обратите внимание на разделители разных файлов!
  • Разные файлы используют разные функции для чтения/записи! Не используйте один формат для всех!
  • Если вы столкнулись с форматом, о чтении которого вы не знаете, просто зайдите в Baidu! ! 99,999% смогут решить вашу проблему!

Надеюсь, в будущем вы больше никогда не столкнетесь с проблемами чтения данных!

boy illustration
Углубленный анализ переполнения памяти CUDA: OutOfMemoryError: CUDA не хватает памяти. Попыталась выделить 3,21 Ги Б (GPU 0; всего 8,00 Ги Б).
boy illustration
[Решено] ошибка установки conda. Среда решения: не удалось выполнить первоначальное зависание. Повторная попытка с помощью файла (графическое руководство).
boy illustration
Прочитайте нейросетевую модель Трансформера в одной статье
boy illustration
.ART Теплые зимние предложения уже открыты
boy illustration
Сравнительная таблица описания кодов ошибок Amap
boy illustration
Уведомление о последних правилах Points Mall в декабре 2022 года.
boy illustration
Даже новички могут быстро приступить к работе с легким сервером приложений.
boy illustration
Взгляд на RSAC 2024|Защита конфиденциальности в эпоху больших моделей
boy illustration
Вы используете ИИ каждый день и до сих пор не знаете, как ИИ дает обратную связь? Одна статья для понимания реализации в коде Python общих функций потерь генеративных моделей + анализ принципов расчета.
boy illustration
Используйте (внутренний) почтовый ящик для образовательных учреждений, чтобы использовать Microsoft Family Bucket (1T дискового пространства на одном диске и версию Office 365 для образовательных учреждений)
boy illustration
Руководство по началу работы с оперативным проектом (7) Практическое сочетание оперативного письма — оперативного письма на основе интеллектуальной системы вопросов и ответов службы поддержки клиентов
boy illustration
[docker] Версия сервера «Чтение 3» — создайте свою собственную программу чтения веб-текста
boy illustration
Обзор Cloud-init и этапы создания в рамках PVE
boy illustration
Корпоративные пользователи используют пакет регистрационных ресурсов для регистрации ICP для веб-сайта и активации оплаты WeChat H5 (с кодом платежного узла версии API V3)
boy illustration
Подробное объяснение таких показателей производительности с высоким уровнем параллелизма, как QPS, TPS, RT и пропускная способность.
boy illustration
Удачи в конкурсе Python Essay Challenge, станьте первым, кто испытает новую функцию сообщества [Запускать блоки кода онлайн] и выиграйте множество изысканных подарков!
boy illustration
[Техническая посадка травы] Кровавая рвота и отделка позволяют вам необычным образом ощипывать гусиные перья! Не распространяйте информацию! ! !
boy illustration
[Официальное ограниченное по времени мероприятие] Сейчас ноябрь, напишите и получите приз
boy illustration
Прочтите это в одной статье: Учебник для няни по созданию сервера Huanshou Parlu на базе CVM-сервера.
boy illustration
Cloud Native | Что такое CRD (настраиваемые определения ресурсов) в K8s?
boy illustration
Как использовать Cloudflare CDN для настройки узла (CF самостоятельно выбирает IP) Гонконг, Китай/Азия узел/сводка и рекомендации внутреннего высокоскоростного IP-сегмента
boy illustration
Дополнительные правила вознаграждения амбассадоров акции в марте 2023 г.
boy illustration
Можно ли открыть частный сервер Phantom Beast Palu одним щелчком мыши? Супер простой урок для начинающих! (Прилагается метод обновления сервера)
boy illustration
[Играйте с Phantom Beast Palu] Обновите игровой сервер Phantom Beast Pallu одним щелчком мыши
boy illustration
Maotouhu делится: последний доступный внутри страны адрес склада исходного образа Docker 2024 года (обновлено 1 декабря)
boy illustration
Кодирование Base64 в MultipartFile
boy illustration
5 точек расширения SpringBoot, супер практично!
boy illustration
Глубокое понимание сопоставления индексов Elasticsearch.
boy illustration
15 рекомендуемых платформ разработки с нулевым кодом корпоративного уровня. Всегда найдется та, которая вам понравится.
boy illustration
Аннотация EasyExcel позволяет экспортировать с сохранением двух десятичных знаков.