私はそのようなリスト(list1)を持っています。各要素は1つの列で構成されるデータフレームです。リスト内のデータフレームの列名を変更する際のエラー - R
すべての列名は同じ「x」です。列名を "x1"、 "x2"、...、 "xn"に変更したい。
私はコードの下に使用します。
lapply(list1, function(x) setNames(x, "x",paste("x",1:seq_along(list1))))
しかし、このコードは動作しません。なぜこのコードは機能しませんか?私はどんな助けも非常にうれしく思います。どうもありがとう。デビッドArenburg @
は、私は(10 LIST1でelment番号である)として、以下のコードを編集した:
lapply(list1, function(z) setNames(z,paste0("x",1:10)))
このコードはすべてのエラーを与えるものではありませんが、それはまた、カラムnames.Theの列名を変更しません。 arsはまだ "x"です。
私は以下のように編集しましたが、まだ動作しません。
for(i in 1:10)
{
list2[[i]]<-setNames(data.frame(list1[[i]])[,1], paste0("x",1:10)[i])
}
私は現在seq_along
を削除しました。希望の結果を得た後、私はそれに取り組んでいきます。
list1の各要素はデータフレームであり、各データフレームには1つの列しかありません。
これは再現できませんが、 '1:seq_along(list1)'は正しく動作しません。 '1:seq_along(mtcars)'を試してください。これはちょうど 'seq_along(mtcars)'でなければなりません。しかし、あなたの場合は 'seq_along'に' list1'を引き渡しているので、 'x'をここでどう使うのかははっきりしません。これは私には意味をなさない。また、 'setNames'の使い方も不明です。これは2つの入力を必要とします - 3ではなく、おそらくあなたの名前が総合的に妥当であることを望むので、これは 'paste0'でなければなりません。 –
結果をオブジェクトに代入していますか? –
'setNames'はその場で修正されません。あなたはそれをどこかに割り当てる必要があります。すでに述べたように、[これは再現できません](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)。そして 'seq_along'はどうなったのですか?そして、「*一つの列になる*」とはどういう意味ですか?いくつの列がありますか? –