我有一个大型数据集(~200MB)存储在.txt文件中,我需要将其读入R.不幸的是,之间没有分隔符(如“”或“,”)变量的值,并且没有头文件。
但是有一个代码簿,它给出变量名称,并指定哪个列属于哪个变量。一些变量占用一列空格,一些占用更多(因此public void SetTabActive(string tab)
{
LabelPlus activeTab = this.tabs.Find(x => x.Name.Equals(tab));
List<LabelPlus> inactiveTabs = new List<LabelPlus>(this.tabs.FindAll(x => !x.Name.Equals(tab)));
activeTab.BackColor = this.ActiveColor;
activeTab.ForeColor = this.ActiveForeColor;
string panelName = tab.Remove(tab.Length - this.tabSuffix.Length);
Panel activeTabPanel = (Panel)this.Controls.Find(panelName, true).FirstOrDefault();
activeTabPanel.Bounds = new Rectangle(
new Point(this.tabStart, this.originalLocation.Y + this.TabTotalHeight), this.Size);
ControlCollection activeTabCtrls = activeTabPanel.Controls;
foreach(LabelPlus inactiveTab in inactiveTabs)
{
inactiveTab.BackColor = this.InactiveColor;
inactiveTab.ForeColor = this.InactiveForeColor;
string inactivePanelName = inactiveTab.Name.Remove(inactiveTab.Name.Length - this.tabSuffix.Length);
Panel inactiveTabPanel = (Panel)this.Controls.Find(inactivePanelName, true).FirstOrDefault();//
inactiveTabPanel.Bounds = new Rectangle(
new Point(this.tabStart, this.originalLocation.Y + this.TabTotalHeight), this.Size);
ControlCollection inactiveTabControls = inactiveTabPanel.Controls
foreach (Control ctrl in inactiveTabControls) { ctrl.Location = new Point(0, ctrl.Location.Y); ctrl.Hide(); }
}
foreach (Control ctrl in activeTabCtrls)
{ ctrl.Location = new Point(0, ctrl.Location.Y); ctrl.Show(); }
}
不起作用);但是它们的宽度对于所有情况都是相同的。
我可能只需阅读其中的一些变量,所以我希望我只需选择必要的列并命名变量。这样做的优雅解决方案是什么(甚至可能预选有意义的变量类型)?
答案 0 :(得分:0)
您可以考虑按原样加载数据,然后使用&#39; strsplit
&#39;解析每一行。适当的正则表达式。
con <- file("yourfile.txt", open = "r")
lines <- readLines(con)
将其重复,将strsplit
应用于每一行,并使用rbind
将其添加到数据表中。