我使用R.NET在C#中調用R函數。雖然這樣做,我意識到每次我調用一個函數,我需要指定它的類型。避免提及c#中使用Rd函數調用R函數時的數據類型的方法
比如:
engine.Evaluate("x = 3.5:10.5");
NumericVector a1= engine.GetSymbol("x").AsNumeric();
對於上述代碼我需要指定a1爲數字向量。
engine.Evaluate("x = c('a',3,7,'adad', 'xyz')");
CharacterVector a2 = engine.GetSymbol("x").AsCharacter();
對於此代碼,我需要指定a2是一個字符向量。
有沒有什麼辦法可以知道數據的類型?或者使用適用於所有數據類型/對象的通用東西?
任何幫助表示讚賞。 提前感謝您。
您可以使用class(a2)來查找數據類型。您也可以使用is.character(a2)來檢查它是否符合要求 – Bas
謝謝@Heuer的回覆,但它不工作我甚至不想使用'CharacterVector a2 = engine.GetSymbol(「x」 ).AsCharacter();'這一行。因爲它已經提到了數據類型。我只需要使用一些能告訴我什麼是'engine.Evaluate(「x = c('a',3,7,'adad','xyz')」)中使用的字符串的數據類型;''基本上什麼是「x」的類型? – Artiga
''class(c('a',3,7,'adad','xyz'))''[1]「character」'它適用於我在R.也許嘗試分裂它。 'x < - c('a',3,7,'adad','xyz')''engine.Evaluate(x);' – Bas