从R中的公式中提取模型框架时排除变量

时间:2017-04-26 21:30:48

标签: r

我在R中使用model.frame()(在函数中使用)但我无法使用-设法将某些变量排除在公式之外。 例如,在具有变量“y”,“x1”,“x2”和“x3”的数据框(数据)中,使用:

model.frame(y ~ . - x3, data)

我会得到一个包含所有“y”,“x1”,“x2”和“x3”的数据框。

有没有办法使用公式排除“x3”而不是直接删除变量,如:data[,-4]

1 个答案:

答案 0 :(得分:4)

我无法弄清楚如何干净利落地做到这一点,但你可以通过几个步骤来做到这一点:

function load() {
  try {
    console.log("in load");
    asyncRequest = new XMLHttpRequest();

    asyncRequest.addEventListener("readystatechange", function() {
      processResponse();
    }, false);
    asyncRequest.open('GET', 'Catalog.xml', true);
    asyncRequest.send(null);
  } catch (exception) {
    alert("Request Failed");
    console.log("failed");
  }
}

function processResponse() {
  console.log(asyncRequest.readyState + " response" + asyncRequest.status + asyncRequest.responseXML);

  if (asyncRequest.readyState == 4 && asyncRequest.status == 200 && asyncRequest.responseXML) {
    console.log("found");

    var planets = asyncRequest.responseXML.getElementsByTagName("planet");
    var name = document.getElementById("planetinfo").value;
    console.log(name);

    for (var i = 0; i < planets.length; ++i) {

      var planet = planets.item(i);
      var planetName = planet.getElementsByTagName("name").item(0).firstChild.nodeValue;

      if (name == planetName) {
        document.getElementById("name").innerHTML = planet.getElementsByTagName("name").item(0).firstChild.nodeValue;
        document.getElementById("discovered").innerHTML = planet.getElementsByTagName("discovered").item(0).firstChild.nodeValue;
        document.getElementById("distance").innerHTML = planet.getElementsByTagName("distance").item(0).firstChild.nodeValue;
        document.getElementById("contact").innerHTML = planet.getElementsByTagName("contact").item(0).firstChild.nodeValue;
        document.getElementById("image").innerHTML = "<img src='../images/" + planet.getElementsByTagName("image").item(0).firstChild.nodeValue + "'  + '/ width = '250' height = '250'>";

      }
    }
  }
}

# example data data <- data.frame(y=0,x1=1,x2=2,x3=3) 的上下文中获取完整展开的公式,然后移除data

x3