如何獲取函數的變量名稱以在字符串內動態執行?如何獲得r中字符串的動態變量?
下面是我嘗試實現的內容的摘錄:一個根據varName生成列表的函數。但是我不能讓varName在字符串sqldf(...)
內動態動作。我認爲這個問題不是特定於包sqldf
。
createExcelSheetData<-function(varName){
sqldf("
SELECT Name
FROM dataTable
WHERE Choice=varName
")
}
table1<-createExcelSheetData(1)
table2<-createExcelSheetData(2)
table3<-createExcelSheetData(3)
以上給我的是固定文本varName
的選項。
更新:要在文本中有變量,而不只是在最後。
createExcelSheetData<-function(varName){
sqldf("
SELECT Name
FROM dataTable
WHERE Choice=varName
ORDER BY Name
")
}
table1<-createExcelSheetData(1)
table2<-createExcelSheetData(2)
table3<-createExcelSheetData(3)
使用'paste':'sqldf(粘貼( 「選擇的名字從dataTable的WHERE選擇=」 varName的))'。 – nicola
@nicola謝謝你的答案。有用。如果文本不只是末尾,我需要粘貼兩種用途嗎?還是有更優雅的解決方案?查看我的意思是更新嗎? – Geoff
請參閱'?paste'。您必須構建查詢的字符串。在更新的情況下,嘗試粘貼(「SELECT名稱從dataTable WHERE選擇=」,varName,「ORDER BY名稱」)''。 – nicola