我的数据框中有167个虚拟变量以及其他变量。 为了创建用于预测的新数据,我希望将第一个虚拟变量的值更改为1,并将所有其他变量的值替换为零。 我的虚拟变量称为district_code2,district_code3,district_code4等。 所以我想将district_code2固定为值1,将所有其他固定为0。

我使用factor创建了这些虚拟变量,并使用model.matrix将它们添加到我的数据中,如下所示:

 dummies = data.frame(model.matrix(~district_code, data=data_wht_81_09))
 #to get rid of the intercept
 dummies1<-dummies[,-1]

我需要在数据中包含虚拟变量,因为运行回归后,我不希望在预测中考虑所有虚拟变量的系数。 我想绘制一个变量的拟合值,使其他变量均值保持不变。 对于区虚拟变量,这意味着向所有拟合值添加一个常数。 因此,我想将所有其他虚拟变量的值设置为0。也许有一种更有效的方法来执行此操作。下面,我展示了对象虚拟对象的示例。

 dput(head(dummies1,4))
 structure(list(district_code2 = c(0, 0, 0, 0), district_code3 = c(0, 
 0, 0, 0), district_code4 = c(0, 0, 0, 0), district_code5 = c(0, 
 0, 0, 0), district_code6 = c(0, 0, 0, 0), district_code7 = c(0,0, 0, 0), 

我只显示前6个变量。 我怎样才能做到这一点? 提前谢谢了。

===============>>#1 票数:1 已采纳

很少需要自己操作伪变量(使用因子时,R会在后台进行操作),但是,如果绝对需要,您可以简单地标识名称以discrict_code开头的列并更改其值:其他列将保持原样。

d <- data.frame( 
  district_code2 = c(0, 0, 0, 0), 
  district_code3 = c(0, 0, 0, 0), 
  district_code4 = c(0, 0, 0, 0), 
  district_code5 = c(0, 0, 0, 0), 
  district_code6 = c(0, 0, 0, 0), 
  district_code7 = c(0,0, 0, 0), 
  x = 1:4
)
library(stringr)
d[,str_detect(names(d), "^district_code[0-9]+")] <- 0
d[,1] <- 1
d

  ask by Ridhima translate from so

未解决问题?本站智能推荐:

2回复

R中的虚拟变量

我正在构建一个线性模型,以评估距栖息地边界的距离对昆虫数量的影响。 使用的设备存在一些差异,因此我将设备作为分类变量包括在内,以确保它不会对丰富度产生重大影响。 类别因子为3级,因此我要求r通过使用以下代码在lm中生成虚拟变量: 当我要求模型的摘要时,我可以看到两个级别及其系数。
2回复

R glm回归不包括几个虚拟变量

我有一个数据集( acs_hh ),其中一列是race_eth 。 对于以下回归: 但是,在我的数据中,不仅仅存在摘要中提到的四个种族。 亚洲人也是我数据集中的一个种族。 为什么R不计算亚洲人的系数,即acs_hh$race_ethasian ,非臀部?
2回复

R将几个虚拟变量列合并为1

我正在尝试合并汽车数据框(插入符号包)中的几个列。 列“敞篷车,轿跑车,掀背车,轿车,旅行车”都有虚拟变量,我想创建一个名为type的列,其列名取决于车辆的类型。 以下是汽车数据框的列名: 如何将最后5个虚拟变量列合并/合并为1与相应的车辆类型? 任何见解或帮助将不胜感激
2回复

为R中的数字变量中的缺失值创建虚拟

我有以下数据: 现在,当我使用dummy或dummy.data.frame ,我可以成功将因子(此处为Sex和Embarked )转换为虚拟变量,如下所示: 现在,如果我如何将其应用于“ Age列,该列会创建100多个虚拟变量,每个唯一的年龄条目一个,而NA一个。 我希望输出像
3回复

汇总r中的几个变量

我有一个长格式的相当大的数据集,由于两个不同的变量A和BEg,我需要计算ID的实例数。由于A或B,同一个人可以在多行中表示。我需要要做的是计算不太难的ID实例的数量,还要计算由于A和B导致的ID的数量,并将它们作为变量返回到数据集中。 问候, // Mi
2回复

R中的自动虚拟变量

我有下面创建的以下数据框: 我正在寻找创建11个虚拟变量。 前十名中的每一名和另一名。 可以轻松找到前十名: 我知道R非常好,因此我假设可以轻松地自动创建(并命名)前10名的虚拟变量,并将其余变量折叠为最终的虚拟变量,称为“其他”。 在此先感谢您的帮助或见解。
1回复

R中的因素和虚拟变量

我是数据分析和学习R的新手。我有一些非常基本的问题,我不太清楚。 我希望在这里能找到帮助。 请忍受我..还在学习- 我写了一个小函数对具有9个变量的数据集执行基本的探索性分析,其中8个是Int / Numeric类型,而1个是Factor。 函数是这样的: 然后我将其应用于数
2回复

在R中创建虚拟变量

我对R很陌生,正在尝试创建一些新变量。 基本上,我的数据集包含具有其母亲ID变量的个体(即,如果两个个体具有相同的母亲,则此变量的值将相同)。 首先简单起见,假设我要创建一个虚拟变量,如果两个同胞是= 1。 我尝试使用: 但对于同胞之一,我得到的向量仅为1。 我该怎么办?
2回复

R中的索引虚拟变量

我的数据看起来像这样 我想添加一列以虚拟方式为连续的1编制索引的索引,以便最终数据看起来像这样。 我如何在R中实现这一目标
2回复

R中虚拟变量的回归

我是R的新手,我正在尝试对我的数据集执行回归,其中包括多年来不同国家的公司的月度销售数据。 在其他统计程序中,为了控制销售的季度周期性变动以及区域(国家)差异,我将创建虚拟变量,表明销售的季度和国家。 我的问题: 1)我在R中看到你可以将变量类型设置为'Factor'。 在这