2014-09-18 128 views
-2

我正在處理將一堆stata代碼轉換爲R以執行數據清理的項目,而我正在嘗試執行的一件事是編寫一個R函數來清理所有我以前編碼爲(是= 1,否= 2)的標準虛擬變量的是/否變量。具有可變數量參數的簡單R函數

問題在於需要使用此函數清理的變量數量將不斷變化。所以我的猜測是函數需要將(1)數據集/數據幀與所有變量作爲參數,(2)需要清理的變量列表。

任何幫助將不勝感激,因爲我是很新,R.

謝謝!

+5

你有什麼作爲輸入:**數據樣本**?你想要什麼:**預期結果**?你有什麼嘗試:**一些R代碼**? – agstudy 2014-09-18 18:16:11

回答

0

你可以試試這個:

example <- data.frame(sex=runif(10),q1=rep.int(c(1,2),5),q2=rep.int(c(2,1),5)) 

yesno <- function(data, variables) { 
    data.new <- data 
    data.new[,names(data) %in% variables] <- -data[,names(data) %in% variables]+2 
    return(data.new) 
} 

example 
yesno(example, c("q1","q2")) 
0

sapply(data, function(x) {-x+2})

data包含您的1,2,匿名函數列把一切是/ 1成1,和無/ 2到0

相關問題