あなたのリストに名前があるようにします:
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
を使用して変更することはできません。
こんにちは@Zheyuan Li私はこのようなエラーが発生している場合は、私はペースト機能を適用しています:割り当て(名前(paste0( "Degrees_df"、私))、paste0( "度"、1: paste0( "Degrees_df"、: 最初の引数が無効 – anindya
残念です@ Zheyuan Li私はループのためにあなたのコードを貼り付け関数を使って修正したかったので、これも解決してもらえますか? – anindya
@ZheyuanLi;あなたの編集はより強くなければならない彼らがこのようにしようとしている場合、オペレータがワークフローを再考すべきであることに注意してください – user20650