我试图重复矢量a,b的元素次数.也就是说,如果y = 2,则a ="abc"应为"aabbcc".
为什么以下任何一个代码示例都不起作用?
sapply(a, function (x) rep(x,b))
Run Code Online (Sandbox Code Playgroud)
从plyr包装,
aaply(a, function (x) rep(x,b))
Run Code Online (Sandbox Code Playgroud)
我知道我错过了一些非常明显的东西......
rcs*_*rcs 16
a 不是矢量,你必须将字符串拆分成单个字符,例如
R> paste(rep(strsplit("abc","")[[1]], each=2), collapse="")
[1] "aabbcc"
Run Code Online (Sandbox Code Playgroud)
小智 10
假设你a是一个向量,sapply将创建一个只需要折叠回向量的矩阵:
a<-c("a","b","c")
b<-3 # Or some other number
a<-sapply(a, function (x) rep(x,b))
a<-as.vector(a)
Run Code Online (Sandbox Code Playgroud)
应该创建以下输出:
"a" "a" "a" "b" "b" "b" "c" "c" "c"
Run Code Online (Sandbox Code Playgroud)