В R, у меня есть два фрейма данных, и мне нужно изменить форму первого в соответствии с порядком второго df.
Используя фактические данные
Лист 'Plan2'
https://docs.google.com/spreadsheets/d/1jkxik-QWz0kQYskQQXgaP0TXT7TsBLjp5RHSqtEw0pU/edit?usp=sharing
if(!require("FrF2")) install.packages("FrF2") ; library(FrF2)
df <- EXPERIMENTO_SALA <- read_excel("mypath/EXPERIMENTO SALA.xlsx",
col_types = c("numeric", "numeric", "numeric",
"numeric", "numeric", "numeric",
"numeric", "numeric", "numeric"))
view(df)
print.data.frame(df)
Другой кадр данных:
plan.person = FrF2(nfactors = 5,
resolution = 5,
replications = 2,
randomize = FALSE,
factor.names = list(
pH = c(3, 9),
Temp = c(5, 30),
Dose = c(0.05, 0.5),
Conc = c(50, 350),
Speed = c(100, 200)
))
view(plan.person)
Обратите внимание, что кадры данных похожи.Это потому, что я копирую учебу для практики программного обеспечения R для анализа эксперимента.Большая разница в том, что у меня 'df' есть три ответа для этого эксперимента, и есть также разница в организованных строках.
Мне нужно изменить форму фрейма данных 'df', чтобы он был равен даннымфрейм 'plan.person', однако мне нужно три фрейма данных 'plan.person' (plan.person1, plan.person2, plan.person3), по одному на каждый анализируемый ответ (% удаления SMO,% удаления CO% удаления Bright-Edge 80), которые находятся во фрейме данных 'df'.
Пожалуйста, как мне это сделать?
** Я представляю более общий пример с использованием игрушечных данных.используя меньший пример.
if(!require("FrF2")) install.packages("FrF2") ; library(FrF2)
if(!require("truncnorm")) install.packages("truncnorm") ; library(truncnorm)
plan.person = FrF2(nfactors = 3,
resolution = 3,
replications = 2,
randomize = FALSE,
factor.names = list(
Temp = c(5, 30),
Conc = c(50, 350),
Speed = c(100, 200)
))
Temperatura <- c(5, 5, 30, 30, 5, 5, 30, 30)
Concentracao <- c(350, 50, 350, 50, 350, 50, 350, 50)
Velocidade <- c(100, 200, 200, 100, 100, 200, 200, 100)
remov_SMO <- rtruncnorm(n=8, a=0, mean=61.16, sd=31.32)
remov_CO <- rtruncnorm(n=8, a=0, mean=79, sd=24.17)
remov_BE <- rtruncnorm(n=8, a=0, mean=71.43, sd=29.61)
df <- data.frame(Temperatura, Concentracao, Velocidade, remov_SMO,
remov_CO, remov_BE)
view(df)
view(plan.person)
В этом меньшем примере мне нужно отсортировать строку фрейма данных 'df' так же, как фрейм данных 'plan.person' согласно Temperatura (= Temp), Concentracao (= Conc) и Velocidade (= Speed) для организации ответов эксперимента, чтобы вы могли продолжать использовать пакет FrF2.
https://i.imgur.com/DQBHQNi.png