简体   繁体   English

R中的频率序列

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM