C# 访问和提取数据帧结果-R.NET
我从C# 访问和提取数据帧结果-R.NET,c#,r,r.net,C#,R,R.net,我从C#运行R脚本,并在dataframe中获得结果,如下所示: var OUTPUT = engine.GetSymbol("detail.dt").AsDataFrame(); OUTPUT dataframe有3列: NAME Month Rate Rob 1 100 Rob 2 150 Rob 3 500 Ned 1 200 Ned 2 500 Sansa 1 500 Sansa 2 1000 我可以提取单个列值,如下所示: var Name = OUTPUT[0].
C#
运行R脚本,并在dataframe
中获得结果,如下所示:
var OUTPUT = engine.GetSymbol("detail.dt").AsDataFrame();
OUTPUT dataframe
有3列:
NAME Month Rate
Rob 1 100
Rob 2 150
Rob 3 500
Ned 1 200
Ned 2 500
Sansa 1 500
Sansa 2 1000
我可以提取单个列值,如下所示:
var Name = OUTPUT[0].AsEnumerable().ToList();
var Month = OUTPUT[1].AsNumeric().ToList();
var Rate = OUTPUT[2].AsNumeric().ToList();
我的问题是,如果用户要求“Rob
”或“Sansa
”,我基本上想提取Month
和Rate
,而不是逐列提取值。
如何为给定的名称
提取月份
和费率
值?
有更好更快的方法吗?我会在data.frame中循环。名称在您的数据中似乎重复,但以下是如何获取其中一个名称:
string userInput = "Rob";
int myMonth = 0;
int myRate = 0;
for (int i = 0; i < OUTPUT.RowCount; ++i)
{
if (OUTPUT[i, 0].ToString() == userInput) {
myMonth = Convert.ToInt32(OUTPUT[i, 1].ToString());
myRate = Convert.ToInt32(OUTPUT[i, 2].ToString());
break;
}
}
string userInput=“Rob”;
int myMonth=0;
int myRate=0;
对于(int i=0;i
如果您需要所有这些数据,请去掉break语句,并将它们堆积到一个列表或任何适合您的数据结构中