假设我有一个这样的列表:
df = list(
Happy = c('Yes','No','Maybe'),
Satisfaction = c('Strongly Agree','Agree','Disagree','Strongly Disagree')
)
但我需要的是
df = list(
Happy = c('Yes'='Happy-yes','No'='Happy-yes','Maybe'='Happy-maybe'),
Satisfaction = c('Strongly Agree'='Satisfaction-Strongly Agree",'Agree'="Satisfaction-Agree",'Disagree'='Satisfaction-Disagree','Strongly Disagree'='Satisfaction-Strongly Disagree'))
然后,我将把这个列表传递给在Shiny中输入的choices(),但是通过这种方式,我可以将响应映射回命名列表的分组。
发布于 2018-06-08 06:33:42
将Map
设置为paste
,将setNames
设置为使用旧值标记新值:
Map(function(nm,x) setNames(paste(nm,x,sep="-"),x), names(df), df)
#$Happy
# Yes No Maybe
# "Happy-Yes" "Happy-No" "Happy-Maybe"
#
#$Satisfaction
# Strongly Agree Agree
# "Satisfaction-Strongly Agree" "Satisfaction-Agree"
# Disagree Strongly Disagree
# "Satisfaction-Disagree" "Satisfaction-Strongly Disagree"
https://stackoverflow.com/questions/50750934
复制相似问题