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语句,并将它们堆积到一个列表或任何适合您的数据结构中