Эта статья предназначена для новичков в языке R, особенно для новичков в области биомедицины. Пожалуйста, не критикуйте~.
в предыдущем твите,Мы используем два видео, чтобы подробно представитьУстановка языка R, rtools, Rstudio и пакетов R.,Решите две самые большие проблемы, с которыми новички сталкиваются в первую очередь!
Вероятно, наиболее подходящее руководство по установке языка R и пакета R для начинающих. Вероятно, лучшее руководство по установке пакетов R.
Дальше всех ждет Чтение данных на языке Р. Проблема с сохранением данных в другом формате!
Большинство данных, с которыми каждый сталкивается в повседневной жизни, по-прежнему должны быть данными Excel, но для языка R мы должны считывать внешние данные в R для выполнения различных операций. Для наших окончательных данных нам может потребоваться сохранить их в формате Excel.
Эти две задачи очень просты для тех, кто умеет это делать, и существует множество способов их достижения, но новички часто сталкиваются с ошибками. Сегодня с точки зрения новичка я расскажу о проблемах чтения и сохранения данных на языке R.
Содержание этого выпуска:
Этот формат слишком распространен,Большинство из нас используют этот формат в повседневной жизни.。Например, есть такойexcelдокумент:data.xlsx
,Содержимое внутри него такое:
Теперь нам нужно прочитать это вRв。Я рекомендую вам использоватьreadxl
Чтение пакетовExcelдокумент。Сначала нам нужно установить этоRСумка,Если вы все еще не знаете, какRОбщая установка пакета4способ,Спешите посмотреть это видео:Вероятно, лучшее руководство по установке пакетов R.。
install.packages("readxl")
После установки нам нужно загрузить этот пакет R, чтобы использовать его:
library(readxl)
Тогда мы сможем прочитать этот файл,При чтении необходимо указать, где находится ваш файл! Если путь к файлу написан неправильно, появится сообщение об ошибке, подобное следующему. Как правило, оно сообщит вам, что ваш путь написан неправильно, или файл не найден, файл не существует, соединение невозможно. открыл и т.д. ошибка! !
tmp <- read_xlsx("E:/data.xlsx", col_names = T)
## Error: `path` does not exist: ‘E:/R/data.xlsx’
На данный момент вам необходимо подтвердить,Это твоеdata.xlsx
документгде именно!когда вы дадите ему правильный путь,Он не сообщит об ошибке。Также обратите внимание/ \ , " "
, эти знаки препинания необходимо вводить на английском языке!
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
окончаниеиздокумент;utf-8
,Затем закройте рстудию,перечитать;csvдокументда Что-то вродефайлы, разделенные запятыми,После открытия он выглядит точно так же, как Excel.,Не спрашивайте, почему вы не видите запятую...
Обычно рекомендуется сохранять файл Excel в формате CSV, поскольку его удобно читать на языке R и его можно читать без установки пакета R~
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()
функция чтения。
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 также является нашим распространенным типом файлов. Обычно такие данные можно прочитать напрямую, без установки пакета R.
Теперь у нас есть такой текстовый файл,это может выглядеть неправильно,Но на самом деле это очень мило~~,Не обманывайтесь внешностью,такжеНикогда не пытайтесь выровнять его с помощью пробела! !
txtдаtab
разделение клавишиздокумент,во время чтения,Обязательно укажите разделитель:
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()
。
Эти два пакета необходимо установить перед использованием~
# чтение иностранной посылки
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
# чтение пакета убежища
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
документ!
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()
функция Вот и все,такжехотетьОбратите внимание на путь к файлу。
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
Это самые распространенные. После того, как вы освоите эти простые, вы можете попробовать более сложные, и вы обязательно столкнетесь с ними в будущем. Но, взяв за основу эти простые, я верю, что вы сможете решать такие проблемы быстрее~.
Я думаю, что записывать файлы проще, чем читать файлы. Если вы действительно не знаете, как сохранять, есть простой способ: здесь:
Просто нажмите Сохранить,сгенерирует файл в вашем текущем рабочем каталогеRData
документ,в следующий разпрямойload
илидвойной щелчок Вот и всеоткрой тебя быстроиз所иметь东西!!!
Не рекомендуется сохранять непосредственно в формате Excel. Рекомендуется использовать формат csv.
Если вы хотите сохранить текущий файл в формате CSV, вы можете использовать следующую функцию:
# Сохраните фрейм данных 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, вы можете использовать следующую функцию:
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
,удобный,официальный!
save(tmp,csv, # Сохраняйте несколько объектов одновременно
file = "tmp1.rdata")
сохранить какrds
Формат:
saveRDS(tmp, file = "tmp.rds")
Вышеупомянутое является общим чтением и записью данных. Наконец, я хотел бы отметить следующие моменты:
Надеюсь, в будущем вы больше никогда не столкнетесь с проблемами чтения данных!