Переименовать и объединить строки в R - PullRequest
0 голосов
/ 22 мая 2018

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

myData <- reactive({
age_selected <- input$selected_age
gender_selected <- input$selected_gender
ethnicity_selected <- input$selected_ethnicity


df <- with_demo_vars %>%
  filter(age == age_selected) %>%
  filter(gender == gender_selected) %>%
  filter(ethnicity == ethnicity_selected) %>%
  pct_ever_user(type = "SM")

 #df[, c("variable",  "sum_wts", "se")]
 #interval=paste(df$ci_l,df$ci_u,collapse = "-")
 df <- mutate(df, intervals= paste("(",round(ci_l,digits = 3), round(ci_u,digits = 3),sep = "-",")"))
#   %>% c("variable", paste("mean",x), "sum_wts", "se")
 #df[c(("variable", "mean", "sum_wts", "se","x")]

})

Вывод, который я получаю: enter image description here

Вывод, который мне нужен, это отформатированный и всего несколько полей:

enter image description here

Спасибо.

Ответы [ 2 ]

0 голосов
/ 22 мая 2018

Вы можете создать Mean и Standard в mutate, затем выбрать нужные столбцы при переименовании n и sum_wts:

library(dplyr)

df <- mutate(df, intervals= paste("(",round(ci_l,digits = 3), 
                                  round(ci_u,digits = 3),
                                  sep = "-",")"),
             Mean = paste(mean, intervals),
             Standard = paste0(se*100, "%")) %>%
  select(variable, Mean, Standard, N = n, `Weighted N` = sum_wts)
0 голосов
/ 22 мая 2018

Вы можете сначала создать новый столбец с помощью функции вставки, чтобы объединить два столбца mean и intervals.Затем выберите столбцы в нужном вам порядке.А затем переименуйте каждый столбец.

df$Mean1<-paste(df$mean,df$intervals,sep=" ")
new_df<-select(df, variable, Mean1, se, n, sum_wts)
colnames(new_df)[1]<-"variable"
colnames(new_df)[2]<-"Mean"
colnames(new_df)[3]<-"Standard"
colnames(new_df)[4]<-"N"
colnames(new_df)[5]<-"Wighted N"
...