2016-08-20 10 views
-2

R言語で非常に新しいです。リストの要素番号の名前を変更したいと思います。リストをRの名前付きリストに変換

現在、私はこのようなリストがあります:私はR言語でヘルプのあらゆる種類の新しいです

> Degrees_df1 
$Degrees1 
[1] "MCA" 

$Degrees2 
[1] "B.Com" 

$Degrees3 
[1] "XII" 

$Degrees4 
[1] "X" 

:私はこのようにそれを変換したい(R Studioからのスクリーンショット)

> Degrees_df1 
[[1]] 
[1] "MCA" 

[[2]] 
[1] "B.Com" 

[[3]] 
[1] "XII" 

[[4]] 
[1] "X" 

を私に感謝します。事前にお礼を言います.......

答えて

0

あなたのリストに名前があるようにします:

NAME <- paste0("Degrees", 1:length(Degrees_df1)) 

次のいずれかがOKである:

names(Degrees_df1) <- NAME 

attr(Degrees_df1, "names") <- NAME 

Degrees_df1 <- "names<-"(Degrees_df1, NAME) 

Degrees_df1 <- setNames(Degrees_df1, NAME) 

Degrees_df1 <- structure(Degrees_df1, names = NAME) 

しかし、私が思うに、最善のことは、あなたがリストを作成するときに名前を与えることです。たとえば、次の場合:

list(1, 2, 3, 4) 

結果のリストには名前がありません。あなたがそうしている間に

list(a = 1, b= 2, c = 3, d = 4) 

結果リストには名前があります。


私は、このようなエラーになっていますあそこペースト機能を適用していた場合:アサインで

エラー(名(paste0( "Degrees_df"、i))を、paste0( "度"、 1:長さは((paste0( "Degrees_df"、取得:無効な最初の引数

申し訳ありませんが、私はペースト機能を使用して、forループ内のコードを変更したい

あなたはおそらく、この(ないEFFが必要です。 icient):

df_i <- get(paste0("Degrees_df", i)) ## a local variable 
names(df_i) <- paste0("Degrees", 1:length(df_i)) ## modify local variable 
assign(paste0("Degrees_df", i), df_i) ## write back and update 

又は(良好):

df_i <- get(paste0("Degrees_df", i)) ## a local variable 
assign(paste0("Degrees_df", i), 
     setNames(df_i, paste0("Degrees", 1:length(df_i)))) 
# assign(paste0("Degrees_df", i), 
#  "names<-"(df_i, paste0("Degrees", 1:length(df_i)))) 
# assign(paste0("Degrees_df", i), 
#  structure(df_i, names = paste0("Degrees", 1:length(df_i)))) 

assignは、変数に値(または他の変数)を割り当てるために使用されます。あなたのエラーコードが名前属性を割り当てようとしているようです。リスト/ data.frameの名前は変数ではなく「属性」であるため、assignを使用して変更することはできません。

+0

こんにちは@Zheyuan Li私はこのようなエラーが発生している場合は、私はペースト機能を適用しています:割り当て(名前(paste0( "Degrees_df"、私))、paste0( "度"、1: paste0( "Degrees_df"、: 最初の引数が無効 – anindya

+0

残念です@ Zheyuan Li私はループのためにあなたのコードを貼り付け関数を使って修正したかったので、これも解決してもらえますか? – anindya

+0

@ZheyuanLi;あなたの編集はより強くなければならない彼らがこのようにしようとしている場合、オペレータがワークフローを再考すべきであることに注意してください – user20650

関連する問題