[英]Sequence from frequence in R
Suppose my table looks like this: 假设我的桌子看起来像这样:
> dat[1:5,1:5]
year terit A T C
1 2011 TA 24 93 126
2 2011 TB 15 46 57
3 2011 TC 0 0 0
4 2011 TD 0 54 287
5 2011 TE 36 31 129
How can I get vectors: 如何获得向量:
> TA2011
[1] AAAAAAAA(times=24)......TTTTTT(times=93)....etc.
apply(dat[3:5], 1, function(x) paste(rep.int(names(dat)[3:5], x), collapse = ""))
will do the trick. 会成功的 This returns a vector of long strings.
这将返回一个长字符串向量。
The result for your example: 您的示例的结果:
1
"AAAAAAAAAAAAAAAAAAAAAAAATTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC"
2
"AAAAAAAAAAAAAAATTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC"
3
""
4
"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC"
5
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC"
Ah, I see the apply
logic has already been posted by @SvenHohenstein. 嗯,我看到@SvenHohenstein已经发布了
apply
逻辑。 I also added the part where you want to name the strings accordingly 我还添加了您要相应命名字符串的部分
namestoassign <- paste(dat$terit,dat$year, sep = '')
for ( i in seq(paste(dat$terit,dat$year, sep = '')))
{
assign(
namestoassign[i],
apply(
dat[i,3:5],
1,
function(x)
paste(rep.int(names(dat)[3:5], x), collapse = "")
)
)
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.