# 2.12
2. R的apply函数怎么用?
https://www.zhihu.com/question/39843392
【apply第一个参数是输入数据
apply第二个参数,制定是哪一种margin, 1对应每一列(行吧??), 2对应每一行(列吧??)
如果有更高维,以此类推,比如对3维情况:...】
高维的apply也真是有趣。。那我要是四维的呢?
3. 如何创建自己的function挺有意思的;尤其是 { } 的用法,是命名规则吧
# standlize的另一种方法
x = array(1:20, c(4,5))
x
scale(x,center = T, scale = T)
myScale = function(x){
x.Mean = apply(x, 2, mean)
x.sd = apply(x, 2, sd)
t((t(x) - x.Mean)/x.sd)
}
myScale(x)
4.lapply和sapply
这俩函数很像,都是应用于一个vector/list上面,而apply适用于一个数组/矩阵。所以通常apply需要三个参数,而apply/sapply一般需要两个参数,第一个参数是输入数据,第二个是函数。两者的区别在于返回值上面,sapply返回的是一个vector【横着的】,但是lapply返回的是一个list【竖着的】。
2. R的apply函数怎么用?
https://www.zhihu.com/question/39843392
【apply第一个参数是输入数据
apply第二个参数,制定是哪一种margin, 1对应每一列(行吧??), 2对应每一行(列吧??)
如果有更高维,以此类推,比如对3维情况:...】
高维的apply也真是有趣。。那我要是四维的呢?
3. 如何创建自己的function挺有意思的;尤其是 { } 的用法,是命名规则吧
# standlize的另一种方法
x = array(1:20, c(4,5))
x
scale(x,center = T, scale = T)
myScale = function(x){
x.Mean = apply(x, 2, mean)
x.sd = apply(x, 2, sd)
t((t(x) - x.Mean)/x.sd)
}
myScale(x)
4.lapply和sapply
这俩函数很像,都是应用于一个vector/list上面,而apply适用于一个数组/矩阵。所以通常apply需要三个参数,而apply/sapply一般需要两个参数,第一个参数是输入数据,第二个是函数。两者的区别在于返回值上面,sapply返回的是一个vector【横着的】,但是lapply返回的是一个list【竖着的】。