-1
x<-as.factor(c("ds","sd","ds","dd"))
fn<-function(x){
results<-list(a=c(2,3,4),b=c("3","d"))
for(i in 1:length(levels(x))){
results<-list(results,
assign(paste("g", i, sep = ""), levels(x)[i]))
}
return(results)
}
fn(x)
[[1]]
[[1]][[1]]
[[1]][[1]][[1]]
[[1]][[1]][[1]]$a
[1] 2 3 4
[[1]][[1]][[1]]$b
[1] "3" "d"
[[1]][[1]][[2]]
[1] "dd"
[[1]][[2]]
[1] "ds"
[[2]]
[1] "sd"
以上輸出是不是我想要的。我希望它如下面的輸出瞭如何在一個創建變量名的for循環
$a
[1] 2 3 4
$b
"3" "d"
$g1
"dd"
$g2
"ds"
$g3
"sd"
輸出中列表的名稱是不正確的。
它必須是在一個循環中,因爲它是一個函數fn(),和x對象是未知的。這個因素的水平可以是任何數字。在x的等級數量爲3的情況下,但它可以是4,5或6.然後循環是強制性的,以適應任何數量的等級。 –
你說得對,我不應該硬編碼的級別數。請參閱我的更新版本,可以與任何級別的工作 - 仍然沒有「for」循環。 – Uwe