如何用R语言给虚拟变量赋值

Python012

如何用R语言给虚拟变量赋值,第1张

先从最简单的开始

假设你的数据是一个向量a,然后你作一个判断a==1,会得到一个向量全部是True和False

然后你把这个新的逻辑变量转换成数字变量就OK了。具体这么操作:

>a<-read.table() #读入数据

>a

[1] 1 2 3 2 1 0 8 6

>b<-a==1 #作判断a==1,然后把逻辑结果赋给b

>as.numeric(b) #强制转换成数字变量

[1] 1 0 0 0 1 0 0 0

先说简单的,有一个叫strtoi()的函数

# 如果直接写

> strtoi("111")

[1] 111

# 如果加base = 2,就是告诉R要换成十进制

> strtoi("111", base = 2)

[1] 7

反过来就有些麻烦,R自带intToBits()函数,但效果不好,要自己调整

> intToBits(12)

[1] 00 00 01 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 

[25] 00 00 00 00 00 00 00 00

12换成二进制是1100,上面答案实际上是反过来读,三四位是11,其余都是0.

paste(rev(as.integer(intToBits(12))), collapse="")

[1] "00000000000000000000000000001100"

1、定义一个变量m,并使用函数c()进行对变量m赋值,使用的是“->”,如下图所示。

2、可以不使用函数,直接使用“->”进行赋值。

3、也可以倒过来赋值,将变量放在函数后面,还是使用“->”赋值。

4、可以使用assign对变量进行赋值,前面参数是被赋值的变量,后面是需要的对象。

5、定义一个变量w,使用函数c()进行赋值;定义一个变量c,取w变量的倒数。

6、定义变量k,使用函数c()进行赋值;再定义一个变量h,使用k进行赋值,就完成了。