2017-01-19 3 views
-1

forループを使用してデータを短くするために、すべてのデータの行名を削除しようとしていますが、rownamesを削除するのではなく「i」という新しい値を作成します。ループと削除rownamesについて

これは私のコードの例で、U91などは私のデータです。

for (i in c(U91,P95,P98,E10)) { 
    rownames(i) <- NULL 
} 

私も(C内部の相場を使用してみましたが)、まだエラーこれは、代わりに「E10」のI値を作成します

私はループにこの機能をしようとしているとのことだもう一つの問題:

Caltex <- Main[Fuel=="Caltex", ] 
for (i in c("7-Eleven","Caltex","Indie")) { 
i <- Main[Brand==i, ] 
} 
+0

'U91'などの' data.frames'、変数、またはどのようなオブジェクトですか? – LAP

+0

おそらく、data.framesを 'c'と組み合わせることは望ましくありません(作成した内容を確認してください)。しかし、もっと重要なのは、「i」にはこれらのオブジェクトのコピーが含まれていることです。このアプローチでは元のオブジェクトを変更することはできません。 – Roland

+0

U91などはdata.framesです –

答えて

1

は、ベクトルの 'string'を返します。だから、もし 'rownames'の操作を削除したいのであれば、文字列のベクトルを作成してみてください。例えば : - :あなたはstringを処理していることを忘れないでください c("U91","P95","P98","E10")とし、 'rownames(I)< NULL'

あなたの2番目の質問に答えます。文字列は数字と同じように動作しません。 変数と文字列の入力について精緻に2番目の質問を説明してください。だから、私はこれを助けることができた。

+0

それでは、2番目の方法は、既存のデータフレームから新しいデータフレームを作成しようとしています。ここでは、Caltexという値の燃料カラムの下にあります。そして私はこれを複数の燃料名にしようとしています。 –

+0

まず、 'Fuel'が列の場合、構文は' Caltex < - Main '、(Main [、 "Fuel"] == "Caltex")] '' Fuel'列の下の値をすべて返します。今、Caltexは変数です。したがって、そのままループとして使用することができます。したがって、変数のリストを作成し、変数に1つずつアクセスしてループを実行してください。再び新しいデータフレーム構文への代入用のforループでは 'Main '、' Brand '' < - i'、ここで' i'はループ内の変数です。これがあなたの目的に合っているかどうか教えてください。 – BoyInDaBox89

+0

ありがとうございます。 –

関連する問題