假设你的数据是一个向量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进行赋值,就完成了。