2017-10-03 10 views
0

プログラミングの世界ではRで新しくなりました。このような方法の論理を理解しようとしています。私は、データベース内にその名前のようにインポートしたテーブルのデータベースと名前からテーブルをインポートしている機能を書きたい関数のパラメータ名を使用して変数名を定義する

foo <- function(name){ 
    name <- sqlFetch(connection, name) 
} 

:私は次のような状況の解決策を取得しようとしている

  1. 。 例: テーブル「cars」をインポートする場合は、のRでこのテーブルを車ともいいます。

    どのようにこのような関数を書くことができますか? これは私の機能の最初の部分でなければなりません。

  2. テーブル名などの関数のパラメータとして、実際には簡単なことがあります。 私は引用符で囲まれた名前を使用しています。 つまり車ではなく「車」です。関数がパラメータを置き換える場合、引用符は含まれていますか?

    sqlFetchでは、テーブル名を引用符で囲む必要があるので、私は尋ねています。 だから、その関数の型が正しいだろう、上側の1つまたは複数の以下:

    foo <- function(name){ 
        name <- sqlFetch(connection,"name") 
    } 
    
+2

探しているものだと思います解決する?なぜなら、単に 'cars = sqlFetch(connection、" cars ")'と書くのはなぜか分かりません。 –

+0

少なくとも、Rのデータベースからテーブルの名前を付けてインポートする関数を記述したいと思います。私は単純にあなたの例を書くことができますが、パラメータとして使用した引用符のために、私がこのfoo( "cars")のような関数を使用している場合、それは "cars"(引用符で囲まれた)の名前に置き換えられますので、上の例のようにコードを定義することはできません – Vala

+0

これはまさに私の質問です。関数でカプセル化したいですか?最初のコメントで書いたコードを書くのではなく、なぜ機能があるのですか?関数内で変数を作成するのは、ほとんどの場合、決して悪い考えであるからです。 R関数のアイデアは、副作用がないことです。それが変更する唯一のものは戻り値でなければなりません。 –

答えて

-2

私は、これはあなたが正確にあなたがしたい問題がある何

foo <- function(name){ 
    my_table <- name 
    assign(my_table, sqlFetch(connection,name)) 
} 
+1

このようにRを書かないでください。これは悪いコードです。それはまた動作しません(しかし、それは修正可能な問題です)。 –

関連する問題