在进行循环的时候,经常需要把环境中的变量通过字符的形式提取出来并赋值给新的变量,涉及到环境变量和字符的转换问题。在R语言中,,可以通过 assign() 和 get() 这两个函数操作。
get :返回和字符串同名的变量的值
assign :将字符串变量的字符进行复制
get和assign是互为镜像的两个函数。
这样在环境中,就生成了100个变量,分别为 data_1到data_100。因此assign可以进行批量的赋值,并且有规律的控制变量名
比如我们需要把上面的data_1到data_100的变量存成rda
这样我们就把data开头的数据通循环的方式,写入到了rda的数据中。
https://zhuanlan.zhihu.com/p/30383865
#includeintmain(){inti,a[10],x,yx=y=0for(i=0i1、求给r语言计算向量各值与一常数差值的平方和
定向量中偶数的个数。
2、用repeat、while和for计算从1~100的所有整数的平方和。
3、把一个整数型向量中所有3的整数倍用0替代。
4、编写函数stat,要求该函数同时计算均值、最大值、最小值、标准差、峰度和偏度。(提示:R默认不提供计算峰度和偏度,可以自编公式或者使用fBasics包。加载fBasics包,可使用skewness(x)计算x的偏度,kurtisis(x)计算x的峰度。)
2、生成自由度为2的t分布的100个随机数t,并通过函数stat计算t的均值、最大值、最小值、标准差、峰度和偏度。
如果这个函数本身返回的东西是一个list,那我们可以用$符号来提取,举例如下:sum_and_mean = function(a,b){
sum = a+b
mean = (a+b)/2
return(list(sum = sum, mean = mean))
}
# 当我们call这个function的时候
sum_and_mean(2,4)$sum # 结果等于6
sum_and_mean(2,4)$mean # 结果等于3希望对你有帮助!