Преобразование кадра данных 4x3 в кадр данных с 1 строкой - PullRequest
0 голосов
/ 03 октября 2019

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

Aromatic_type           Concentration Concentration2
1     Monoaromáticos          6.52          83.65
2       Diaromáticos          6.39          49.89
3      Triaromáticos         22.36         125.62
4 Aromáticos Totales         36.82         311.48

, и мне нужно, чтобы он был преобразован в 1-строчный фрейм данных, как это:

Monoaromáticos Concentration Monoaromáticos Concentration2 Diaromáticos Concentration etc...
                        6.52                         83.65                       6.39

Я пробовал с tidyr и reshape но я думаю, что я все еще новичок, любая помощь или предложения очень ценятся!

1 Ответ

0 голосов
/ 03 октября 2019

Надеюсь, я правильно получаю ваши входные данные.

Предполагая, что входной файл выглядит (возможно, текст не в кавычках, но я использую кавычки для простоты):

"Aromatic_type" "Concentration" "Concentration2" 
"Monoaromáticos" 6.52 83.65 
"Diaromáticos" 6.39 49.89 
"Triaromáticos" 22.36 125.62 
"Aromáticos Totales" 36.82 311.48

Затем следующий код выдаст данные в нужном вам широком формате:

library(tidyverse)

datos <- '"Aromatic_type" "Concentration" "Concentration2"
"Monoaromáticos" 6.52 83.65
"Diaromáticos" 6.39 49.89
"Triaromáticos" 22.36 125.62
"Aromáticos Totales" 36.82 311.48'

df <- read_delim(datos, delim = " ", quote = '"')[, 1:3] 

df2 <- df %>% 
pivot_longer(
  cols = c(2:3),
  names_to = "concentracion",
  values_to = "valores"
) %>% 
unite(
  col = "medida",
  1:2,
  sep = " "
) %>% 
pivot_wider(
  names_from = medida,
  values_from = valores
)
df2

output:

# A tibble: 1 x 8
`Monoaromáticos… `Monoaromáticos… `Diaromáticos C… `Diaromáticos C…
<dbl>            <dbl>            <dbl>            <dbl>
1             6.52             83.6             6.39             49.9
# … with 4 more variables: `Triaromáticos Concentration` <dbl>,
#   `Triaromáticos Concentration2` <dbl>, `Aromáticos Totales
#   Concentration` <dbl>, `Aromáticos Totales Concentration2` <dbl>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...