Bom, sem saber como sao seus dados, nao ha' muito o que fazer... minhas recomendacoes continuam as mesmas de 2 emails atras...<div><br></div><div>eh possivel q os nomes das variaveis nao sejam como vc descreveu inicialmente (x e x1, y e y1)... e, dada a funcao que te passei, vc soh precisaria dar o nome das variaveis apropriadamente:</div>
<div><br></div><div>res0 = f('nome', dados, 'nome1')</div><div><br></div><div>mas, novamente, nao posso fazer nada sem saber como de fato sao seus dados... e seguir as recomendacoes do guia de postagem e' sempre a melhor sugestao.</div>
<div><br></div><div>b<br><br><div class="gmail_quote">2012/4/12 Sérgio Henrique almeida da silva ju <span dir="ltr"><<a href="mailto:sergio.edfisica@gmail.com">sergio.edfisica@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>Oi</div><div> </div><div>Dá o mesmo resultado</div><div> </div><div>Quando executo o comando:</div><div> </div><div>dput(dados[1:10,])</div><div> </div><div>Dá um resultado enorme.<br><br></div><div class="gmail_quote">
Em 11 de abril de 2012 20:05, Benilton Carvalho <span dir="ltr"><<a href="mailto:beniltoncarvalho@gmail.com" target="_blank">beniltoncarvalho@gmail.com</a>></span> escreveu:<div><div class="h5"><br><blockquote style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid" class="gmail_quote">
o q vc tentou das recomendacoes do meu ultimo email e quais os resultados?<div><div><br><br><div class="gmail_quote">2012/4/12 Sérgio Henrique almeida da silva ju <span dir="ltr"><<a href="mailto:sergio.edfisica@gmail.com" target="_blank">sergio.edfisica@gmail.com</a>></span><br>
<blockquote style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid" class="gmail_quote">Oi Benilton<div><br></div><div>Quando executo seu comando dá certinho, porém quando passo para os meus dados dá esse erro.</div>
<div> </div><div>A variável tem que ser um vetor?</div><div> </div><div><br><br> </div><div class="gmail_quote">
Em 11 de abril de 2012 15:05, Benilton Carvalho <span dir="ltr"><<a href="mailto:beniltoncarvalho@gmail.com" target="_blank">beniltoncarvalho@gmail.com</a>></span> escreveu:<div><div><br>
<blockquote style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid" class="gmail_quote">entao vc precisa dar um exemplo reproduzivel do seu conjunto de dados...<div>
<br></div><div>se o mesmo problema acontecer com:</div>
<div><br></div><div>f('x', dados[1:10,])</div><div><br></div><div>entao cole aqui o resultado de:</div>
<div><br></div><div>dput(dados[1:10,])</div><div><br></div><div>se o problema nao acontecer nesse exemplo reduzido, siga as recomendacoes do guia de postagem (no rodape de toda mensagem) no que se refere a compartilhar arquivos.</div>
<span><font color="#888888">
<div><br></div><div>benilton</div></font></span><div><div><div><br><br><div class="gmail_quote">2012/4/11 Sérgio Henrique almeida da silva ju <span dir="ltr"><<a href="mailto:sergio.edfisica@gmail.com" target="_blank">sergio.edfisica@gmail.com</a>></span><br>
<blockquote style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid" class="gmail_quote">Oi Benilton<div><br></div><div>Dá o seguinte erro</div><div>
<br></div><div>dados$x2<- f('x', dados)</div><div>
<br></div><div>Error in substr(dat[[v]], dat[[v1]], n) : invalid substring argument(s)<br><br><div class="gmail_quote">
<br></div><div class="gmail_quote"><br></div><div class="gmail_quote">Em 11 de abril de 2012 14:48, Benilton Carvalho <span dir="ltr"><<a href="mailto:beniltoncarvalho@gmail.com" target="_blank">beniltoncarvalho@gmail.com</a>></span> escreveu:<div>
<div><br>
<blockquote style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid" class="gmail_quote">o codigo q enviei deve fazer algo proximo do q vc quer... so' copiar/colar e verificar os resultados...<div>
<div><div><br><div class="gmail_quote">2012/4/11 Sérgio Henrique almeida da silva ju <span dir="ltr"><<a href="mailto:sergio.edfisica@gmail.com" target="_blank">sergio.edfisica@gmail.com</a>></span><br>
<blockquote style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid" class="gmail_quote">Oi Benilton<div><br></div><div>Obrigado pela resposta!</div>
<div><br></div><div>Tentei colocar o exemplo mais reproduzível o possível, mas o banco que estou trabalhando é um pouco complicado mesmo, por isso a dificuldade...</div>
<div><br></div><div>Sim, quando falo 2a linha é o 2o caractere da string.</div><div><br></div><div>Quando tem o 0 significa que não existe o valor (A360) na linha da variável, portanto eu busco valor a partir da posição do caractere indicado pela variável.</div>
<div> No SPSS eu uso o seguinte comando:</div><div><br></div><div><div>IF (x1 = 2) x2=CHAR.SUBSTR(x,2,4).</div><div>IF (x1 = 7) x2=CHAR.SUBSTR(x,7,4).</div><div>IF (x1 = 12) x2=CHAR.SUBSTR(x,12,4).</div></div><div>IF (y1 = 2) y2=CHAR.SUBSTR(y,2,4).</div>
<div>IF (y1 = 7) y2=CHAR.SUBSTR(y,7,4).</div><div>IF (y1 = 12) y2=CHAR.SUBSTR(y,12,4).</div><div><br><div class="gmail_quote">Em 11 de abril de 2012 14:02, Benilton Carvalho <span dir="ltr"><<a href="mailto:beniltoncarvalho@gmail.com" target="_blank">beniltoncarvalho@gmail.com</a>></span> escreveu:<div>
<div><br>
<blockquote style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid" class="gmail_quote">1) assumindo q qdo vc fala "2a linha" vc quer dizer "2o caractere da string"... 2) colocando um exemplo apropriadamente reproduzivel... 3) assumindo q se vc tiver 0, vc nao quer nada na saida...<div>
<br>
</div><div>tmp = data.frame(x=c('<span>*A360', '</span><span>*A330', '</span><span>*A340', '</span><span>*A340</span><span>*A360', </span><span>'*A330</span><span>*A340</span><span>*A360'),</span></div>
<div><font color="#222222" face="arial, sans-serif"> y=c(</font><span>'</span><span>*A340</span><span>*A360', </span>'<span>*A360',</span><span> </span><span>'*A330</span><span>*A340</span><span>*A360', </span><span>'</span><span>*A340',</span><span> '</span><span>*A330'),</span></div>
<div><font color="#222222" face="arial, sans-serif"> x1=c(2, 0, 0, 7, 12),</font></div><div><font color="#222222" face="arial, sans-serif"> y1=c(7, 2, 12, 0, 0), stringsAsFactors=FALSE)</font></div>
<div><font color="#222222" face="arial, sans-serif"><br></font></div><div><span style="color:rgb(34,34,34);font-family:arial,sans-serif">f = function(v, dat, v1=paste(v, 1, sep='')){</span></div><div><div><span style="color:rgb(34,34,34);font-family:arial,sans-serif">n = ifelse(dat[[v1]] > 0, nchar(dat[[v]]), NA)</span></div>
<div><span style="color:rgb(34,34,34);font-family:arial,sans-serif">substr(dat[[v]],</span><span style="color:rgb(34,34,34);font-family:arial,sans-serif"> </span><span style="color:rgb(34,34,34);font-family:arial,sans-serif">dat[[v1]]</span><span style="color:rgb(34,34,34);font-family:arial,sans-serif">, n)</span></div>
<div><font color="#222222" face="arial, sans-serif">}</font></div></div><div><font color="#222222" face="arial, sans-serif"><br></font></div><div><font color="#222222" face="arial, sans-serif">f('x', tmp)</font></div>
<div><font color="#222222" face="arial, sans-serif">f('y', tmp)</font></div><div><font color="#222222" face="arial, sans-serif"><br></font></div><div><font color="#222222" face="arial, sans-serif">b</font></div><div>
<font color="#222222" face="arial, sans-serif"><br></font><div><br></div><div><br><br><div class="gmail_quote"><div><div>2012/4/11 Sérgio Henrique almeida da silva ju <span dir="ltr"><<a href="mailto:sergio.edfisica@gmail.com" target="_blank">sergio.edfisica@gmail.com</a>></span><br>
</div></div><blockquote style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid" class="gmail_quote"><div><div>Olá <div><br></div><div>alguns dias atrás vocês me ajudaram na criação de variáveis (x1 e y1), onde a mesmas me mostram a posição inicial de um certo valor (A360) em uma outra variável:</div>
<div><br></div><div>A variável x1 mostra que o A360 inicia-se na segunda linha da variável X e assim por diante. </div>
<div><br></div><div>Só que agora eu queria criar uma outra variável x2 e y2 que extrai o valor de A360 das variáveis</div><div><br></div><div>exemplo</div><div><br></div><div>Se x1 = 2 eu quero uma substring de x começando da 2ª linha até a 4ª me dando dessa forma o valor A360</div>
<div>Se y1 = 7 eu quero uma substring de y começando da 7ª linha até a 10ª me dando dessa forma o valor A360
</div><div><br></div><div>e assim por diante.</div><div><br></div><div>Como faço?</div><div><br></div><div><table style="width:198pt;border-collapse:collapse" border="0" cellspacing="0" cellpadding="0" width="262">
<colgroup><col style="width:83pt" span="2" width="110">
<col style="width:16pt" span="2" width="21">
</colgroup><tbody><tr style="min-height:15pt" height="20">
<td style="width:83pt;min-height:15pt" height="20" width="110">x</td>
<td style="width:83pt" width="110">y</td>
<td style="width:16pt" width="21">x1 </td>
<td style="width:16pt" width="21">y1</td>
</tr>
<tr style="min-height:15pt" height="20">
<td style="min-height:15pt" height="20">*A360</td>
<td>*A340*A360</td>
<td align="right">2</td>
<td align="right">7</td>
</tr>
<tr style="min-height:15pt" height="20">
<td style="min-height:15pt" height="20">*A330</td>
<td>*A360</td>
<td align="right">0</td>
<td align="right">2</td>
</tr>
<tr style="min-height:15pt" height="20">
<td style="min-height:15pt" height="20">*A340</td>
<td>*A330*A340*360</td>
<td align="right">0</td>
<td align="right">12</td>
</tr>
<tr style="min-height:15pt" height="20">
<td style="min-height:15pt" height="20">*A340*A360</td>
<td>*A340</td>
<td align="right">7</td>
<td align="right">0</td>
</tr>
<tr style="min-height:15pt" height="20">
<td style="min-height:15pt" height="20">*A330*A340*360</td>
<td>*A330</td>
<td align="right">12</td>
<td align="right">0</td>
</tr></tbody></table><br><div class="gmail_quote">Obrigado</div><span><font color="#888888"><div class="gmail_quote"><br></div>-- <br>Sérgio Henrique Almeida da Silva Junior<br>Doutorando em Epidemiologia em Saúde Pública<br>
Escola Nacional de Saúde Pública Sérgio Arouca - ENSP/FIOCRUZ<br>
<a href="http://lattes.cnpq.br/1611345552843383" target="_blank">http://lattes.cnpq.br/1611345552843383</a> <br>Tel: (21) 94429486/78101651 id: 123*20942<br><br><br>
</font></span></div>
<br></div></div>_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br></blockquote></div><br></div></div>
<br>_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br></blockquote></div></div></div><div><div><br><br clear="all">
<div><br></div>-- <br>
Sérgio Henrique Almeida da Silva Junior<br>Doutorando em Epidemiologia em Saúde Pública<br>Escola Nacional de Saúde Pública Sérgio Arouca - ENSP/FIOCRUZ<br><a href="http://lattes.cnpq.br/1611345552843383" target="_blank">http://lattes.cnpq.br/1611345552843383</a> <br>
Tel: (21) 94429486/78101651 id: 123*20942<br><br><br>
</div></div></div>
<br>_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br></blockquote></div><br></div>
</div></div><br>_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br></blockquote></div></div></div><div><div><br><br clear="all">
<div><br></div>-- <br>
Sérgio Henrique Almeida da Silva Junior<br>Doutorando em Epidemiologia em Saúde Pública<br>Escola Nacional de Saúde Pública Sérgio Arouca - ENSP/FIOCRUZ<br><a href="http://lattes.cnpq.br/1611345552843383" target="_blank">http://lattes.cnpq.br/1611345552843383</a> <br>
Tel: (21) 94429486/78101651 id: 123*20942<br><br><br>
</div></div></div>
<br>_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br></blockquote></div><br></div>
</div></div><br>_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br></blockquote></div></div></div><div><div>
<div><br><br clear="all"></div><div><br>
</div><div>-- <br>
Sérgio Henrique Almeida da Silva Junior<br>Doutorando em Epidemiologia em Saúde Pública<br>Escola Nacional de Saúde Pública Sérgio Arouca - ENSP/FIOCRUZ<br><a href="http://lattes.cnpq.br/1611345552843383" target="_blank">http://lattes.cnpq.br/1611345552843383</a> <br>
Tel: (21) 94429486/78101651 id: 123*20942<br><br><br>
</div>
</div></div><br>_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br></blockquote></div><br>
</div></div><br>_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br></blockquote></div></div></div><div class="HOEnZb"><div class="h5">
<br><br clear="all"><br>-- <br>Sérgio Henrique Almeida da Silva Junior<br>
Doutorando em Epidemiologia em Saúde Pública<br>Escola Nacional de Saúde Pública Sérgio Arouca - ENSP/FIOCRUZ<br><a href="http://lattes.cnpq.br/1611345552843383" target="_blank">http://lattes.cnpq.br/1611345552843383</a> <br>
Tel: (21) 94429486/78101651 id: 123*20942<br>
<br><br>
</div></div><br>_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br></blockquote></div><br></div>