2016-05-25 15 views
0

2つのリストとデータフレームがあります。データフレーム内の列は、リスト内のエントリと同じ名前です。データフレームがリストにリスト内の名前を使用してデータフレーム列にアクセスする方法

category.list <- c('Reserve_Book','choicepriv_and_points','Latency_freeze_load','signin','gift_card','mystery_gift','credit_card','call_support','account') 
crosstab.list <- c('browser','OS','Device','comment_cat','comment_focus','recommend') 

を指定した以外、同様に他の列があり、どのように私は、リスト内の要素を反復処理し、データフレームの列にアクセスするためにそれらを使用していますか? 以下はコードですが、私は試していますが、反復子変数を介してdataframe列にアクセスしようとしているときにエラーが発生しています。

for (i in category.list){ 
    for (j in crosstab.list){ 
    ftable(dataframe[j]~dataframe[i]) 
    } 
} 
+0

アン[あなたのデータの一例(http://stackoverflow.com/a/5963610/2005219添加

ftable(dataframe[,j]~dataframe[,i])

注意すべき)はエラーのテキストと同様に役に立ちます。 –

+1

@ EdwardR.Mazurekは同意しましたが、この場合は列選択の基本的な入力ミスです。 – kdopen

+2

'[['、つまり 'dataframe [[j]]'を使用してください。また、ネストされたforループよりもR-idiomaticアプローチがあるかもしれません。 –

答えて

0

具体的には、ご使用のデータフレームリファレンスでは、どの列が必要なのか、どの行が必要なのかを指定する必要があります。

ftable(dataframe[j]~dataframe[i])

ニーズコンマ

+0

私はカンマを追加しましたが、結果は何もありません。エラーも出力もありません – Teja

+1

あまりにも私にとってはあまりしません:)しかし、それはあなたの質問に関するものではありませんでした。私の答えはあなたが得ていたRのエラーを解決するだけです – kdopen

+1

あなたはどんな結果を期待していますか? 'for'ループのどこにでも結果を保存しているわけではありません。 – Bulat

関連する問題