Agrupar linhas pela primeira letra

Olá pessoal. Tenho um df assim: id=c("ana","pedro","maria","teresa","monica","jorge","mario","raquel","marcus") idade=c("67","68","76","84","60","62","79","81","80") diag=c("A110","A112","A134","A560","B123","B165","C123","D123","D345") df1=data.frame(id,idade,diag) Quero criar uma nova coluna chamada categ de forma que fique assim: os diag que começam com A ficam "categA" os diag que começam com B ficam "categB" E assim por diante. Alguém poderia me ajudar? Obrigada Fátima -- "Minha felicidade depende da qualidade dos meus pensamentos"

Um simples substr já resolve: df1$Grupos <- factor(sprintf('categ%s', substr(df1$diag, 0, 1))) 2014-09-16 18:47 GMT-03:00 Fátima Lima Paula <fatima.lima.paula@gmail.com>:
Olá pessoal. Tenho um df assim:
id=c("ana","pedro","maria","teresa","monica","jorge","mario","raquel","marcus") idade=c("67","68","76","84","60","62","79","81","80") diag=c("A110","A112","A134","A560","B123","B165","C123","D123","D345") df1=data.frame(id,idade,diag)
Quero criar uma nova coluna chamada categ de forma que fique assim: os diag que começam com A ficam "categA" os diag que começam com B ficam "categB" E assim por diante. Alguém poderia me ajudar? Obrigada Fátima
-- "Minha felicidade depende da qualidade dos meus pensamentos"
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.

Obrigada Em 16 de setembro de 2014 18:52, Rodrigo Coster <rcoster@gmail.com> escreveu:
Um simples substr já resolve:
df1$Grupos <- factor(sprintf('categ%s', substr(df1$diag, 0, 1)))
2014-09-16 18:47 GMT-03:00 Fátima Lima Paula <fatima.lima.paula@gmail.com> :
Olá pessoal. Tenho um df assim:
id=c("ana","pedro","maria","teresa","monica","jorge","mario","raquel","marcus") idade=c("67","68","76","84","60","62","79","81","80") diag=c("A110","A112","A134","A560","B123","B165","C123","D123","D345") df1=data.frame(id,idade,diag)
Quero criar uma nova coluna chamada categ de forma que fique assim: os diag que começam com A ficam "categA" os diag que começam com B ficam "categB" E assim por diante. Alguém poderia me ajudar? Obrigada Fátima
-- "Minha felicidade depende da qualidade dos meus pensamentos"
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
-- "Minha felicidade depende da qualidade dos meus pensamentos"

E se eu quiser dar nomes diferentes. Por exemplo: id=c("ana","pedro","maria","teresa","monica","jorge","mario","raquel","marcus") idade=c("67","68","76","84","60","62","79","81","80") diag=c("A110","A112","A134","A560","B123","B165","C123","D123","D345") df1=data.frame(id,idade,diag) Se começar com A, a coluna Grupos será sangue Se começar com B a coluna Grupos será rins Etc Em 16 de setembro de 2014 18:56, Fátima Lima Paula < fatima.lima.paula@gmail.com> escreveu:
Obrigada
Em 16 de setembro de 2014 18:52, Rodrigo Coster <rcoster@gmail.com> escreveu:
Um simples substr já resolve:
df1$Grupos <- factor(sprintf('categ%s', substr(df1$diag, 0, 1)))
2014-09-16 18:47 GMT-03:00 Fátima Lima Paula <fatima.lima.paula@gmail.com
:
Olá pessoal. Tenho um df assim:
id=c("ana","pedro","maria","teresa","monica","jorge","mario","raquel","marcus") idade=c("67","68","76","84","60","62","79","81","80") diag=c("A110","A112","A134","A560","B123","B165","C123","D123","D345") df1=data.frame(id,idade,diag)
Quero criar uma nova coluna chamada categ de forma que fique assim: os diag que começam com A ficam "categA" os diag que começam com B ficam "categB" E assim por diante. Alguém poderia me ajudar? Obrigada Fátima
-- "Minha felicidade depende da qualidade dos meus pensamentos"
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
-- "Minha felicidade depende da qualidade dos meus pensamentos"
-- "Minha felicidade depende da qualidade dos meus pensamentos"

Só informar os parâmetros no factor() df1$Grupos <- factor(substr(df1$diag, 0, 1), levels = c('A', 'B'), labels = c('Sangue', 'Rins')) No caso apareceram NA pois informei apenas para A e B 2014-09-16 19:22 GMT-03:00 Fátima Lima Paula <fatima.lima.paula@gmail.com>:
E se eu quiser dar nomes diferentes. Por exemplo:
id=c("ana","pedro","maria","teresa","monica","jorge","mario","raquel","marcus") idade=c("67","68","76","84","60","62","79","81","80") diag=c("A110","A112","A134","A560","B123","B165","C123","D123","D345") df1=data.frame(id,idade,diag)
Se começar com A, a coluna Grupos será sangue Se começar com B a coluna Grupos será rins Etc
Em 16 de setembro de 2014 18:56, Fátima Lima Paula < fatima.lima.paula@gmail.com> escreveu:
Obrigada
Em 16 de setembro de 2014 18:52, Rodrigo Coster <rcoster@gmail.com> escreveu:
Um simples substr já resolve:
df1$Grupos <- factor(sprintf('categ%s', substr(df1$diag, 0, 1)))
2014-09-16 18:47 GMT-03:00 Fátima Lima Paula < fatima.lima.paula@gmail.com>:
Olá pessoal. Tenho um df assim:
id=c("ana","pedro","maria","teresa","monica","jorge","mario","raquel","marcus") idade=c("67","68","76","84","60","62","79","81","80") diag=c("A110","A112","A134","A560","B123","B165","C123","D123","D345") df1=data.frame(id,idade,diag)
Quero criar uma nova coluna chamada categ de forma que fique assim: os diag que começam com A ficam "categA" os diag que começam com B ficam "categB" E assim por diante. Alguém poderia me ajudar? Obrigada Fátima
-- "Minha felicidade depende da qualidade dos meus pensamentos"
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
-- "Minha felicidade depende da qualidade dos meus pensamentos"
-- "Minha felicidade depende da qualidade dos meus pensamentos"
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.

Perfeito. Obrigada Em 16 de setembro de 2014 21:00, Rodrigo Coster <rcoster@gmail.com> escreveu:
Só informar os parâmetros no factor()
df1$Grupos <- factor(substr(df1$diag, 0, 1), levels = c('A', 'B'), labels = c('Sangue', 'Rins'))
No caso apareceram NA pois informei apenas para A e B
2014-09-16 19:22 GMT-03:00 Fátima Lima Paula <fatima.lima.paula@gmail.com> :
E se eu quiser dar nomes diferentes. Por exemplo:
id=c("ana","pedro","maria","teresa","monica","jorge","mario","raquel","marcus") idade=c("67","68","76","84","60","62","79","81","80") diag=c("A110","A112","A134","A560","B123","B165","C123","D123","D345") df1=data.frame(id,idade,diag)
Se começar com A, a coluna Grupos será sangue Se começar com B a coluna Grupos será rins Etc
Em 16 de setembro de 2014 18:56, Fátima Lima Paula < fatima.lima.paula@gmail.com> escreveu:
Obrigada
Em 16 de setembro de 2014 18:52, Rodrigo Coster <rcoster@gmail.com> escreveu:
Um simples substr já resolve:
df1$Grupos <- factor(sprintf('categ%s', substr(df1$diag, 0, 1)))
2014-09-16 18:47 GMT-03:00 Fátima Lima Paula < fatima.lima.paula@gmail.com>:
Olá pessoal. Tenho um df assim:
id=c("ana","pedro","maria","teresa","monica","jorge","mario","raquel","marcus") idade=c("67","68","76","84","60","62","79","81","80") diag=c("A110","A112","A134","A560","B123","B165","C123","D123","D345") df1=data.frame(id,idade,diag)
Quero criar uma nova coluna chamada categ de forma que fique assim: os diag que começam com A ficam "categA" os diag que começam com B ficam "categB" E assim por diante. Alguém poderia me ajudar? Obrigada Fátima
-- "Minha felicidade depende da qualidade dos meus pensamentos"
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
-- "Minha felicidade depende da qualidade dos meus pensamentos"
-- "Minha felicidade depende da qualidade dos meus pensamentos"
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
-- "Minha felicidade depende da qualidade dos meus pensamentos"
participantes (2)
-
Fátima Lima Paula
-
Rodrigo Coster