>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语言中的for循环进行编码
>a=c(2,6,9,12,33)
>for(i in 1:length(a)) cat("a=",a[i],", a^2=",a[i]*a[i],", a^3=", a[i]*a[i]*a[i], "\n")
a= 2 , a^2= 4 , a^3= 8
a= 6 , a^2= 36 , a^3= 216
a= 9 , a^2= 81 , a^3= 729
a= 12 , a^2= 144 , a^3= 1728
a= 33 , a^2= 1089 , a^3= 35937
>
简单码?
首先Fibonacci数列他的公式是F(0)=0, F(1)=1, F(n)=F(n-1)+F(n-2)所以他是一个无限的数列,必须要规定一个n才能进行求和,否则for循环一下去,R就死了