在R中创建规范基矢量?

时间:2017-06-08 14:33:32

标签: r vector

是否有一种创建规范基矢量的有效方法:

wget https://oss.sonatype.org/content/repositories/releases/io/get-coursier/coursier-cli_2.11/1.0.0-RC1/coursier-cli_2.11-1.0.0-RC1-standalone.jar

对于R中的任意长度,可能是大的p?

我知道我能做到

e_1=c(1,0,0,...), 

e_2=c(0,1,0,...),

e_3=c(0,0,1,...),

...

依此类推或e_1 = rep(0,p) e_1[1] = 1 ...但我想知道是否有一种更有效的方法,因为我在循环中一次只需要一个。

1 个答案:

答案 0 :(得分:3)

replace

可能会更短
make_basis <- function(k, p = 10) replace(numeric(p), k, 1)

# usage
e_4 = make_basis(4)
e_4
# [1] 0 0 0 1 0 0 0 0 0 0