我有一個將數據幀作爲參數的函數。在那個函數中,我需要使用if/else
構造來根據用作參數的數據框來執行一些操作。例如,我需要能夠說獲取數據幀的名稱作爲R中的字符串
if (name of data frame=="Anthro_Data") {do this} else if (the name of data frame=="Sports") {do that}
。
我遇到的問題是我不知道如何獲取數據框的名稱(作爲字符串)才能使用它。有什麼建議麼!
我有一個將數據幀作爲參數的函數。在那個函數中,我需要使用if/else
構造來根據用作參數的數據框來執行一些操作。例如,我需要能夠說獲取數據幀的名稱作爲R中的字符串
if (name of data frame=="Anthro_Data") {do this} else if (the name of data frame=="Sports") {do that}
。
我遇到的問題是我不知道如何獲取數據框的名稱(作爲字符串)才能使用它。有什麼建議麼!
這似乎是一個很奇怪的方式來定義一個函數。由於誰在調用函數知道data.frame來自哪裏(理論上)不應該只是根據data.frame的內容調用不同的函數,而不是在函數中硬編碼特定的變量名稱? – MrFlick
@ MrFlick,感謝您的評論。我的功能的任務是做一些聚合,並返回一個聚合的數據框。我的數據框有不同的維度/列名,所以我要麼使用你的方法,要麼使用我的方法。我不是一個有經驗的程序員,也不知道最佳實踐,但這對我來說似乎是一個解決方案。我認爲在我的五個數據框上調用一個函數而不是調用一個函數,而不是使用不同名稱調用5個函數,這些函數最終會執行相同的任務。 – BICube
如果你想根據傳遞的內容做不同的事情,我會建議你做一些事情,比如查看列名(如果這對你很重要)。這比需要傳遞特定變量名更靈活。 – MrFlick