在 r 中创建具有特定顺序的变量名
create variable names with specific order in r
我想得到一些特定顺序的变量名,像这样
I0.n,I0.man,I0.woman,I0.low65,I0.up65
I1.n,I1.man,I1.woman,I1.low65,I1.up65
………………
I99.n,I99.man,I99.woman,I99.low65,I99.up65
我尝试了一种方法但失败了
num <- sprintf('%02d',0:99)
index <- c('n', 'man', 'woman', 'low65', 'up65')
vars <- paste0('I', num, '.', index)
有没有一种有效的方法来创建具有特定顺序的变量名称?
任何帮助将不胜感激!
正如 @MrFlick
所建议的那样,实现此目的的一种简单而紧凑的方法是使用以下代码:
data <- with(expand.grid(index=index, num=num), paste0('I', num, '.', index))
> data
[1] "I00.n" "I00.man" "I00.woman" "I00.low65" "I00.up65" "I01.n" "I01.man" "I01.woman"
[9] "I01.low65" "I01.up65" "I02.n" "I02.man" "I02.woman" "I02.low65" "I02.up65" "I03.n"
...
[497] "I99.man" "I99.woman" "I99.low65" "I99.up65"
希望对您有所帮助。
我想得到一些特定顺序的变量名,像这样
I0.n,I0.man,I0.woman,I0.low65,I0.up65
I1.n,I1.man,I1.woman,I1.low65,I1.up65
………………
I99.n,I99.man,I99.woman,I99.low65,I99.up65
我尝试了一种方法但失败了
num <- sprintf('%02d',0:99)
index <- c('n', 'man', 'woman', 'low65', 'up65')
vars <- paste0('I', num, '.', index)
有没有一种有效的方法来创建具有特定顺序的变量名称?
任何帮助将不胜感激!
正如 @MrFlick
所建议的那样,实现此目的的一种简单而紧凑的方法是使用以下代码:
data <- with(expand.grid(index=index, num=num), paste0('I', num, '.', index))
> data
[1] "I00.n" "I00.man" "I00.woman" "I00.low65" "I00.up65" "I01.n" "I01.man" "I01.woman"
[9] "I01.low65" "I01.up65" "I02.n" "I02.man" "I02.woman" "I02.low65" "I02.up65" "I03.n"
...
[497] "I99.man" "I99.woman" "I99.low65" "I99.up65"
希望对您有所帮助。