[英]Creating a sequential list of numbers and letters with R
此問題與之前提出的有關創建連續字母列表的問題有關。 我目前正在嘗試創建一個按數字和字母順序升序的變量列表。 基本上我想要一個這樣的列表:
"var_1A" "var_1B" var_"1C" "var_1D" "var_2A" "var_2B" var_"2C" "var_2D"
我可以輕松地創建一個按數字遞增的變量列表
paste("var_", 1:2, "A", sep="")
或按字母順序
paste("var_1", letters[1:4], sep="")
但結合這兩個收益:
paste("var_", 1:2, letters[1:4], sep="")
[1] "var_1a" "var_2b" "var_1c" "var_2d"
我怎樣才能得到上面想要的結果?
foo <- expand.grid(1:2, LETTERS[1:4])
paste0("var_", foo[,1], foo[,2])
[1] "var_1A" "var_2A" "var_1B" "var_2B" "var_1C" "var_2C" "var_1D" "var_2D"
你可以使用outer
c(t(outer(paste0("var_", 1:2), LETTERS[1:4], paste0)))
#[1] "var_1A" "var_1B" "var_1C" "var_1D" "var_2A" "var_2B" "var_2C" "var_2D"
或者使用paste0
和rep
另一個選項
paste0(rep(paste0("var_", 1:2), each = 4), LETTERS[1:4])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.