Разбиение длинного ряда на несколько более коротких рядов в R - PullRequest
1 голос
/ 17 января 2020

У меня есть этот действительно широкий фрейм данных (1 объект из 696 переменных), и я хочу разбить эту единственную строку на другие каждые 10 столбцов

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

library(tidyverse)

Vol_cil <-  function(r, h) {
  vol <- (pi*(r^2))*h
  return(vol)}

vec <-  Vol_cil(625, 0:695)/1000000

df <- data.frame(vec)

stckovrflw <- df %>% 
  mutate("mm" = 0:695) %>% 
  pivot_wider(names_from = mm, values_from = vec)

Я хочу, чтобы столбцы go от 0 до 9 и строки от 0 до 69, с данные в этом фрейме данных (stckovrflw), я попытался найти способ сделать это в inte rnet, но ничего не смог сделать, в итоге экспортировал их в excel и делал вручную.

I ' Буду признателен за любую помощь

Если я не смог понять себя, пожалуйста, не стесняйтесь спрашивать меня что-нибудь

1 Ответ

0 голосов
/ 17 января 2020

Вот один из способов сделать это. Он начинается с перевода stckovrflw в длинный формат, так что если это действительно то, что у вас есть, вы можете выполнить этот шаг. Он работает, создавая столбцы для номера строки и столбца, затем распределяя их по номеру столбца.

stckovrflw %>% pivot_longer(everything(), names_to='mm') %>% 
  mutate(row=rep(1:70, each=10)[1:696], col=rep(1:10, 70)[1:696]) %>% 
  select(-mm) %>% 
  pivot_wider(names_from='col', values_from='value')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...