相关疑难解决方法(0)

在R data.table中创建虚拟变量

我正在使用R中的一个非常大的数据集,并且已经使用数据框进行操作,并决定切换到data.tables以帮助加快操作.我无法理解J操作,特别是我正在尝试生成虚拟变量,但我无法弄清楚如何在data.tables []中编写条件操作.

MWE:

test <- data.table("index"=rep(letters[1:10],100),"var1"=rnorm(1000,0,1))
Run Code Online (Sandbox Code Playgroud)

我想这样做是为了添加列a通过j为虚拟变量,该列a将有一个值1时,index == "a"0其他.在data.frame环境中,它看起来像:

test$a <- 0

test$a[test$index=='a'] <- 1
Run Code Online (Sandbox Code Playgroud)

r data.table dummy-variable

20
推荐指数
1
解决办法
6558
查看次数

在dplyr中突变虚拟变量

我想使用dplyr创建7个虚拟变量-每天创建一个

到目前为止,我已经设法使用sjmisc包和to_dummy函数来完成此操作,但是我分两个步骤进行了操作-1。创建虚拟变量的df,2)附加到原始df

#Sample dataframe
mydfdata.frame(x=rep(letters[1:9]),
           day=c("Mon","Tues","Wed","Thurs","Fri","Sat","Sun","Fri","Mon"))

#1.Create the 7 dummy variables separately
daysdummy<-sjmisc::to_dummy(mydf$day,suffix="label")

#2. append to dataframe
mydf<-bind_cols(mydf,daysdummy)


> mydf
  x   day day_Fri day_Mon day_Sat day_Sun day_Thurs day_Tues day_Wed
1 a   Mon       0       1       0       0         0        0       0
2 b  Tues       0       0       0       0         0        1       0
3 c   Wed       0       0       0       0         0        0       1
4 d Thurs       0       0       0       0         1        0       0
5 e   Fri       1       0       0       0 …
Run Code Online (Sandbox Code Playgroud)

r dplyr dummy-variable

4
推荐指数
1
解决办法
3953
查看次数

标签 统计

dummy-variable ×2

r ×2

data.table ×1

dplyr ×1