r语言能够识别每个数值占的位数吗

Python012

r语言能够识别每个数值占的位数吗,第1张

options主要是用来设置可以改变R的计算和显示结果全局选项。

如果用该命令后还是显示不全,则可以把变量转换成字符型然后再转换成数值型,再进行显示。

options(digits = 7) # 控制要打印数值的位数(最大只能到22)

options(scipen = 100) # 平时常用的数值或科学计数法输出,此处用于设置显示的位数

format主要是为了输出一个统一的格式。

format(c(6.0, 13.1), digits = 2) #保留两位有效数字

输出结果:" 6" "13"

format(2^31-1, scientific = TRUE)#用科学计数法表示该数值,如果想显示全的话可以把scientific设置为FALSE

输出结果:"2.147484e+09"

signif主要是用于指定参数的有效数字的四舍五入。

例:

x2为下列五个数:

0.03141593 3.14159265 314.15926536 31415.92653590 3141592.65358979

signif(x2, 3)

输出结果: 0.0314 3.1400 314.0000 31400.0000 3140000.0000

round(x2, 3) #是保留小数点后三位有效数字

输出结果: 0.031 3.142 314.159 31415.927 3141592.654

#这里我假设你的数据是test,是一个框架数据

dimoftest <- dim(test) # 获取数据维数

factoftest <- c() #定义factor数组

k <- 2 #定义你的那个变量的列k,你自己设定

#循环找出k列大于k-1列10%的序号,并将factor数组设为1,否则为0

for(i in 1:dimoftest){

if((test[i,k]- test[i,k-1])/test[i,k-1] >0.1) factoftest[i] = 1

else factoftest[i] = 2

}

factoftest #显示数组

#创建一个factor因子,标记为1,2,文本也设为1,2

newfactor <- factor(factoftest,levels = c(1,2), labels = c("1","2"))

#合并到数据中

test <- data.frame(test, newfactor)

#查看

test

不明白的话继续问