显示R中的所有类别

Hea*_*oes 2 format r

我有一个数据集:

variableName<-c("Mood","Mood","Mood","HappinessIndex","HappinessIndex","HappinessIndex","HappinessIndex","weather","weather","weather","weather","weather")

order<-c(1,2,3,1,2,3,4,1,2,3,4,5)

categoryName<-c("Happy","Normal","Sad","Very Happy","Happy","Unhappy","Sad","Sunny","Cloudy","Windy","Rainy","Stormy")

df<-data.frame(variableName,order,categoryName)
Run Code Online (Sandbox Code Playgroud)

categoryName变量解释了每个变量中可用的所有类别(在variableName中列出.我现在正在尝试生成一个文本文件,该文件将总结:

理想的输出是一个包含以下内容的文本文件:

Mood: 1 "Happy" 2 "Normal" 3 "Sad"
Happiness Index: 1 "Very Happy" 2 "Happy" 3 "Unhappy" 4 "Sad"
weather: 1 "Sunny" 2 "Cloudy" 3 "Windy" 4 "Rainy" 5 "Stormy"
Run Code Online (Sandbox Code Playgroud)

我是R的初学者,所以任何帮助都将非常感谢!

akr*_*run 5

根据显示的预期输出,您可以使用dQuote(在评论中使用与@David Arenburg的代码类似的语法)

library(data.table)
setDT(df)[,paste(order, dQuote(categoryName), collapse=' '), by = variableName][,
     paste(variableName, V1, sep=": ")]
#[1] "Mood: 1 “Happy” 2 “Normal” 3 “Sad”"                          
#[2] "HappinessIndex: 1 “Very Happy” 2 “Happy” 3 “Unhappy” 4 “Sad”"
#[3] "weather: 1 “Sunny” 2 “Cloudy” 3 “Windy” 4 “Rainy” 5 “Stormy”"
Run Code Online (Sandbox Code Playgroud)

或使用 dplyr

library(dplyr)
df %>%
  group_by(variableName) %>%
  summarise(V1= paste(order, dQuote(categoryName), collapse= ' ')) %>% 
  transmute(V1= paste(variableName, V1, sep=": "))
Run Code Online (Sandbox Code Playgroud)