按每个字符将字符串分隔成列

时间:2018-10-05 09:17:44

标签: r string

在我的数据框中,我有一列这样的长字符串

df$string 
AVDSFBKLDF

我需要的是分隔每个字符并为其创建新列。列的名称是q1,q2,依此类推。对于类似的情况,例如按符号分割字符串并将其放入新列中,我使用了这段代码

df %>% separate(string, into = paste0('q', 1:10), sep = "")

它工作正常,但是现在当我想按每个字符分割字符串时,出现空白警告我的控制台,我的代码不起作用。

3 个答案:

答案 0 :(得分:1)

start软件包提供了您可能考虑的功能start: function() { this._super.apply(this, arguments); self = this; setTimeout(function(){ self.$el.parent().find('input').focus(); }, 50); },

data.table

如果要继续使用数据框,请在最后键入tstrsplit

答案 1 :(得分:0)

使用以下代码。我已经使用了Stringr包的str_split_fixed函数来创建新列。

E=randn(1,100);
mu=2; phi=linspace(0.1,0.99,10)'; Y=zeros(10,100);
Y(:,1) = mu*phi + mu + E(1)
for t=(2:100);
   Y(:,t) = Y(:,t-1).*phi + mu + E(t);
end
figure(); imagesc(1:100,phi,Y); colorbar; xlabel('t-values'); ylabel('phi-values');

我希望这对您有帮助

答案 2 :(得分:0)

您可以尝试:

df<- data.frame(string=c("ABCDEF","GH"))
df %>% mutate(v=str_split(string,"(?=.)")) %>% unnest %>%
  filter(v!="") %>% 
  group_by(string) %>% mutate(k=paste0("q",row_number())) %>% ungroup %>%
  spread(k,v) 
## A tibble: 2 x 7
#  string q1    q2    q3    q4    q5    q6   
#  <fct>  <chr> <chr> <chr> <chr> <chr> <chr>
#1 ABCDEF A     B     C     D     E     F    
#2 GH     G     H     <NA>  <NA>  <NA>  <NA>