基本上我想生成一个序列,比如说:
n为2,序列为112
n为3,序列为112123
n为5,序列为112123123412345
我确实想出了一个解决方案
n=5
seq=1
for (i in 2:n){
seq=c(seq,rep(1:n,len=i))
}
Run Code Online (Sandbox Code Playgroud)
我想知道是否有一种方法可以做到没有for循环?
基本上,我想将多个列表合并到一个列表中.所有列表都有相同的结构.这是一个例子:
file1=list(A=1,B=2)
file2=list(A=2,B=3)
file3=list(A=3,B=4)
Run Code Online (Sandbox Code Playgroud)
我知道mapply()或Map()工作.
> mapply(c, file1, file2, file3, SIMPLIFY=FALSE)
[[1]]
[1] 1 2 3
[[2]]
[1] 2 3 4
Run Code Online (Sandbox Code Playgroud)
但问题是我实际上有500个列表,好吧,我可以肯定地复制和粘贴对象名称500次.但是,我想学习如何有效地做到这一点.我有一个包含每500个列表名称的向量,像这样,
lsNames=c("file1","file2","file3")
Run Code Online (Sandbox Code Playgroud)
但我不知道如何开始,我感谢任何帮助,谢谢.
基本上,我只想在向量中保留第一个字符,我知道这可以在substr()中轻松完成,但我想知道如何在gsub()中完成它.
例如,
codes <- c("02Q","4E (1)","4S (1)","A0","A2","A4")
Run Code Online (Sandbox Code Playgroud)
我想要一个结果矢量
c("0","4","4","A","A","A")
Run Code Online (Sandbox Code Playgroud)
谢谢