>testdata<-data.frame(v1=c("78%", "65%", "32%"), v2=c("43%", "56%", "23%"))
>testnewdata1<-data.frame(lapply(testdata, function(x) as.numeric(sub("%", "", x))/100) )
>testnewdata1
v1 v2
1 0.78 0.43
2 0.65 0.56
3 0.32 0.23
>library(stringr)
>testnewdata2<-data.frame(lapply(testdata, function(x) as.numeric(str_extract(x,'[0-9.]+'))/100) )
>testnewdata2
v1 v2
1 0.78 0.43
2 0.65 0.56
3 0.32 0.23
替换百分号的思想还可以用下面的代码实现
>testnewdata3<-data.frame(lapply(testdata, function(x) as.numeric(gsub("\\%", "", x))/100))
>testnewdata3
v1 v2
1 0.78 0.43
2 0.65 0.56
3 0.32 0.23
r语言输入多组数据步骤如下:1.while(scanf("%数据类型",&变量)==scanf读取到数据的个数) { }
2.while(scanf("%数据类型",&变量)!=EOF) { } 下面就介绍一下 第一种 //入一个整数,判断是否大于3,如果是,输出“right”,否则输出“wron” #include<stdio.h>intmain() { intawhile(scanf("%d",&a)==1) { if(a>=3) printf("right\n")else printf("worn\n")} return0} 这里的scanf函数返回的是实际读到的数据的个数,在这里scanf读取到的数据是一个,循环就开始执行,如果输入其他的,就会跳出循环。