में एकाधिक कॉलम को म्यूट करें मेरे पास ऐसा डेटा सेट है जो इस तरह दिखता है।डेटाफ्रेम
bankname bankid year totass cash bond loans
Bank A 1 1881 244789 7250 20218 29513
Bank B 2 1881 195755 10243 185151 2800
Bank C 3 1881 107736 13357 177612 NA
Bank D 4 1881 170600 35000 20000 5000
Bank E 5 1881 3200000 351266 314012 NA
और मैं बैंक बैलेंस शीट के आधार पर कुछ अनुपातों की गणना करना चाहता हूं। और मैं डाटासेट इस
bankname bankid year totass cash bond loans CashtoAsset BondtoAsset LoanstoAsset
Bank A 1 1881 2447890 7250 202100 951300 0.002 0.082 0.388
Bank B 2 1881 195755 10243 185151 2800 0.052 0.945 0.014
Bank C 3 1881 107736 13357 177612 NA 0.123 1.648585431 NA
Bank D 4 1881 170600 35000 20000 5000 0.205 0.117 0.029
Bank E 5 1881 32000000 351266 314012 NA 0.0109 0.009 NA
की तरह लग रहे करना चाहते हैं यहाँ डेटा
bankname <- c("Bank A","Bank B","Bank C","Bank D","Bank E")
bankid <- c(1, 2, 3, 4, 5)
year<- c(1881, 1881, 1881, 1881, 1881)
totass <- c(244789, 195755, 107736, 170600, 32000000)
cash<-c(7250,10243,13357,35000,351266)
bond<-c(20218,185151,177612,20000,314012)
loans<-c(29513,2800,NA,5000,NA)
bankdata<-data.frame(bankname, bankid,year,totass, cash, bond, loans)
पहले दोहराने के लिए कोड है, मैं बैलेंस शीट में NAS से छुटकारा मिला।
cols <- c("totass", "cash", "bond", "loans")
bankdata[cols][is.na(bankdata[cols])] <- 0
तब मैं अनुपात
library(dplyr)
bankdata<-mutate(bankdata,CashtoAsset = cash/totass)
bankdata<-mutate(bankdata,BondtoAsset = bond/totass)
bankdata<-mutate(bankdata,loanstoAsset =loans/totass)
लेकिन गणना, लाइन द्वारा कंप्यूटिंग इन सभी अनुपातों लाइन के बजाय, मैं इस बार में सभी ऐसा करने के लिए एक नज़र बनाना चाहते हैं। स्टेटटा में, मैं
foreach x of varlist cash bond loans {
by bankid: gen `x'toAsset = `x'/ totass
}
मैं यह कैसे करूँगा?
मेटा-टिप्पणी: जब दूसरे करने के लिए एक भाषा से अनुवाद करते समय, आप नहीं भी शाब्दिक होना जरूरत है। स्टाटा में लूप्स अक्सर आर में सरणी-आधारित गणना के रूप में बेहतर काम करते हैं (यहां तक कि बातचीत भी सच हो सकती है: अन्य भाषाओं से स्टाटा के लिए नए आने वाले अक्सर अवलोकनों पर लूप का प्रयास करते हैं, जिन्हें शायद ही कभी जरूरी है।) –
मैं यहां अपने चर को सरल बना देता हूं, लेकिन मेरे डेटासेट, मेरे पास संपत्तियों की 20 से अधिक श्रेणियां हैं, इसलिए लूप होने में सहायक है। –
मेरे पास लूप के खिलाफ कुछ भी नहीं है; इसी तरह सामान्य आर उपयोगकर्ता निश्चित रूप से 20 कॉलम से खुश है .... –