2
私は、名前と値を持つデータフレームをベクトルのリストに変換する必要があります。名前によって、各値をどのベクトルに割り当てる必要があるかが決まります。私のリストの作成を自動化するために、私が使用しているtapply:実用的な効果についてはリストのクラスを配列からリストに変更するにはどうすればよいですか?
d_df <- data.frame(name=c(rep("a",5),rep("b",5)),value=LETTERS[1:10])
d_list_auto <- tapply(d_df$value,d_df$name, FUN=as.character)
d_list_auto <- unname(d_list_auto)
d_list_manual <- list(LETTERS[1:5],LETTERS[6:10])
、d_list_autoとd_list_manualは同じものですが、そのクラスが異なっている(と関数がどの私はリストが文句渡しますそれ)。私はの構造を失うことなく、クラスのリストにd_list_autoを強制するにはどうすればよい
class(as.list(d_list_auto)) #array
apply(d_list_auto,1,as.list) #Creates a list of lists
:
class(d_list_auto) #array
class(d_list_manual) #list
は私がas.list()と無駄に関数を適用するの異なる味を持つクラスの変更を強要しようとしました私のデータ?
EDIT
非常に厄介なソリューション:
class(apply(d_list_auto,1,as.list)) #list
は、誰かがよりエレガントな提案を持っていますか?
は手動で '別の選択肢であるが、私はそれは' unname'する必要があるでしょうと思うかもしれない 'lapply(スプリット()、...)をやってdを正確に出力に合わせます。 – joran