首先,我推測,因爲這個問題已經在另一個頁面回答,例如 How do I use a macro variable in R? (Similar to %LET in SAS)和Pass string as name of attached data column name但我已經閱讀了他們,觀看Youtube教程,認爲函數命令是我想要的,我只是不能讓它工作。我對整體編程非常陌生,對R來說只有幾天的時間,而且由於缺乏經驗或對從哪裏開始的理解,我相信我錯過了一些東西。R SAS宏像表達式
在SAS我會做這樣的
%Macro DV (var1, var2);
Proc mixed …
Model &var1 = &var2 …
Data &var1_&var2…
%mend DV;
%DV (VAS, Hyd)
%DV (SOM, Hyd)
%DV (GAS, Hyd)
的變量(例如,VAS,路政署)那我打電話是列標籤,它們會叫,在混合模型分析柱並且,使用更多的代碼,數據集將根據分析的變量以文件名導出。 我不想在R中執行lmer我使用的是rmcorr軟件包,並且想要更改分析的列。 原來的表達,這樣的作品,看起來像
VASCor.rmc <- rmcorr(participant = Subject, measure1 = Hyd, measure2 = VAS, dataset = mydata)
plot(VASCor.rmc,mydata, overall = T, lty=1, xlab = "Hyd", ylab = "VAS")
的工作數據集可以在下面找到。因此,只處理第一個表達式,我嘗試了以下內容,認爲var1和var2會插入到正確的位置,但最終會出現錯誤「object'var2'not found」。
Allrmcorr <- function(var1, var2){
var1.var2.rmc <- rmcorr(participant = Subject, measure1 = var2, measure2 = var1 , dataset = Results2)
}
Allrmcorr("VAS","Hyd")
Allrmcorr("VAS","Hyd")
我已經嘗試了一些表情和大概花了足夠長的時間試圖弄明白到剛剛改寫了表達的時候,我不接近,但固執我想知道下一個更好的辦法時間。任何幫助將不勝感激。
mydata <- data.frame(
Subject = c(1,1,1,1,1,2,2,2,2,2,3,3,3,3,3),
Time = c(1:5,1:5,1:5),
VAS= runif(15),
Hyd =runif(15),
GAS= runif(15)
)
不知道任何關於'rmcorr'函數,它看起來像你只需要'返回'你創建的變量。將'return(var1.var2.rmc)'添加到函數的末尾,您應該看到該值。然後,您會創建像vas.hyd這樣的新變量。rmc < - Allrmcorr(「VAS」,「Hyd」)' – brittenb
在這種情況下,不需要返回語句。 R總是返回函數中的最後一個值。 –