
Senhores, em meu trabalho, criei 3 vetores, sendo dois deles formados por 0's e 1's. De posse dos três criei uma matriz. Agora estou tentando adicionar mais uma coluna à matriz. Coluna esta que servira para identificar a situação dos dados do outro vetor que foi criado. No fim das contar preciso ter uma matriz com 4 colunas sendo que as duas primeiras formadas por 0's e 1's determinam a condição da terceira coluna e essa condição será encontrada na quarta coluna. Só que a quarta coluna é formada por valores to tipo "Censurado", "Curado" e "Falha". Tentei fazer da seguinte forma: # 1º vetor VetCens <- rbinom(500,1,0.6) # 2º vetor VetCura <- rbinom(500,1,0.3) # 3º vetor VetBN <- rnbinom(500,48,mu=13.5) # Criando a matriz MatSim <- cbind(VetCens, VetCura, VetBN) # Tentativa de criação do quarto vetor com as situações VetSituac <- function(param){ VetCens <- param[1] VetCura <- param[2] situacao <- rep(0,500) for(i in 1:500){ if (VetCens[i]==1 and VetCura[i]==0) situacao[i]==3 } if (VetCens==1 and VetCura==1){ situacao="Curado" } if (VetCens==0 and VetCura==1) or (VetCens==0 and VetCura==0) situacao="Falha" } } Estou tendo problemas com essa ultima função. Pra um individuo ser considerado CURADO devemos ter para os dois primeiros vetores os valores 1,1 Pra um indivíduo ser considerado CENSURADO devemos ter para os dois primeiros vetores os valores 1,0 Pra um indivíduo ser considerado FALHA devemos ter para os dois primeiros vetores os valores 0,1 ou 0,0. Alguém tem uma sugestão? Obrigado -- Att, Thiago Morais de Carvalho (61 - 8169-5094)

Talvez o que você queria seja isso: VetSituac <- function(param){ VetCens <- param[1] VetCura <- param[2] situacao <- rep(0,500) for(i in 1:500){ if (VetCens[i]==1 & VetCura[i]==0) situacao[i]==3 } if (VetCens==1 & VetCura==1){ situacao="Curado" } if ((VetCens==0 & VetCura==1) | (VetCens==0 & VetCura==0)){ situacao="Falha" } } Em 25 de setembro de 2011 15:49, Thiago Touya <thiagotouya@gmail.com>escreveu:
Senhores, em meu trabalho, criei 3 vetores, sendo dois deles formados por 0's e 1's. De posse dos três criei uma matriz. Agora estou tentando adicionar mais uma coluna à matriz. Coluna esta que servira para identificar a situação dos dados do outro vetor que foi criado. No fim das contar preciso ter uma matriz com 4 colunas sendo que as duas primeiras formadas por 0's e 1's determinam a condição da terceira coluna e essa condição será encontrada na quarta coluna. Só que a quarta coluna é formada por valores to tipo "Censurado", "Curado" e "Falha". Tentei fazer da seguinte forma:
# 1º vetor VetCens <- rbinom(500,1,0.6)
# 2º vetor VetCura <- rbinom(500,1,0.3)
# 3º vetor VetBN <- rnbinom(500,48,mu=13.5)
# Criando a matriz MatSim <- cbind(VetCens, VetCura, VetBN)
# Tentativa de criação do quarto vetor com as situações VetSituac <- function(param){ VetCens <- param[1] VetCura <- param[2] situacao <- rep(0,500) for(i in 1:500){ if (VetCens[i]==1 and VetCura[i]==0) situacao[i]==3 }
if (VetCens==1 and VetCura==1){ situacao="Curado" } if (VetCens==0 and VetCura==1) or (VetCens==0 and VetCura==0) situacao="Falha" } }
Estou tendo problemas com essa ultima função.
Pra um individuo ser considerado CURADO devemos ter para os dois primeiros vetores os valores 1,1
Pra um indivíduo ser considerado CENSURADO devemos ter para os dois primeiros vetores os valores 1,0
Pra um indivíduo ser considerado FALHA devemos ter para os dois primeiros vetores os valores 0,1 ou 0,0.
Alguém tem uma sugestão? Obrigado
-- Att, Thiago Morais de Carvalho (61 - 8169-5094)
_______________________________________________ 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.
-- Abraços, Ricardo Fernandes Campos Junior

Uma matrix nao eh o objecto que voce procura. Uma vez que um elemento seja texto, todos os outros serao convertidos para texto. Se vc precisa de algo como uma tabela, vc quer um data.frame, que nao alterara' os tipos das tres colunas iniciais: set.seed(1) VetCens <- rbinom(500,1,0.6) VetCura <- rbinom(500,1,0.3) VetBN <- rnbinom(500,48,mu=13.5) ## Temporariamente: ## Falha = 1 ## Censura = 2 ## Cura = 3 Estado <- rep(1L, 500) Estado[VetCens & !VetCura] <- 2L Estado[VetCens & VetCura] <- 3L labels = c('Falha', 'Censura', 'Cura') res <- data.frame(Cens=VetCens, Cura=VetCura, BN=VetBN, Estado=labels[Estado]) head(res) b

Estava vendo a discussão, e queria saber a diferença de Estado <- rep(1L, 500) Estado e Estado <- rep(1, 500) Estado que dá o mesmo resultado! Uma matrix nao eh o objecto que voce procura. Uma vez que um elemento seja texto, todos os outros serao convertidos para texto. Se vc precisa de algo como uma tabela, vc quer um data.frame, que nao alterara' os tipos das tres colunas iniciais: set.seed(1) VetCens <- rbinom(500,1,0.6) VetCura <- rbinom(500,1,0.3) VetBN <- rnbinom(500,48,mu=13.5) ## Temporariamente: ## Falha = 1 ## Censura = 2 ## Cura = 3 Estado <- rep(1L, 500) Estado[VetCens & !VetCura] <- 2L Estado[VetCens & VetCura] <- 3L labels = c('Falha', 'Censura', 'Cura') res <- data.frame(Cens=VetCens, Cura=VetCura, BN=VetBN, Estado=labels[Estado]) head(res) b _______________________________________________ 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.

O primeiro retorna inteiros: typeof(rep(1L, 500)) O segundo retorna doubles typeof(rep(1, 500)) b 2011/9/26 Mauro Sznelwar <sznelwar@uol.com.br>:
Estava vendo a discussão, e queria saber a diferença de Estado <- rep(1L, 500) Estado e Estado <- rep(1, 500) Estado que dá o mesmo resultado!
Uma matrix nao eh o objecto que voce procura. Uma vez que um elemento seja texto, todos os outros serao convertidos para texto. Se vc precisa de algo como uma tabela, vc quer um data.frame, que nao alterara' os tipos das tres colunas iniciais:
set.seed(1) VetCens <- rbinom(500,1,0.6) VetCura <- rbinom(500,1,0.3) VetBN <- rnbinom(500,48,mu=13.5) ## Temporariamente: ## Falha = 1 ## Censura = 2 ## Cura = 3 Estado <- rep(1L, 500) Estado[VetCens & !VetCura] <- 2L Estado[VetCens & VetCura] <- 3L labels = c('Falha', 'Censura', 'Cura') res <- data.frame(Cens=VetCens, Cura=VetCura, BN=VetBN, Estado=labels[Estado]) head(res)
b _______________________________________________ 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.
-- Successful people ask better questions, and as a result, they get better answers. (Tony Robbins)

Mauro embora aparentemente nenhuma a diferença está que como os núumeros são represetnados e armazenados. o "L" força a representação como inteiro, o que usa menos bytes do que a represetnaçao como numerico /real do segundo On Sun, 25 Sep 2011, Mauro Sznelwar wrote:
Estava vendo a discussão, e queria saber a diferença de Estado <- rep(1L, 500) Estado e Estado <- rep(1, 500) Estado que dá o mesmo resultado!
Uma matrix nao eh o objecto que voce procura. Uma vez que um elemento seja texto, todos os outros serao convertidos para texto. Se vc precisa de algo como uma tabela, vc quer um data.frame, que nao alterara' os tipos das tres colunas iniciais:
set.seed(1) VetCens <- rbinom(500,1,0.6) VetCura <- rbinom(500,1,0.3) VetBN <- rnbinom(500,48,mu=13.5) ## Temporariamente: ## Falha = 1 ## Censura = 2 ## Cura = 3 Estado <- rep(1L, 500) Estado[VetCens & !VetCura] <- 2L Estado[VetCens & VetCura] <- 3L labels = c('Falha', 'Censura', 'Cura') res <- data.frame(Cens=VetCens, Cura=VetCura, BN=VetBN, Estado=labels[Estado]) head(res)
b _______________________________________________ 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.
participantes (6)
-
Benilton Carvalho
-
Mauro Sznelwar
-
Paulo Justiniano
-
Ricardo Fernandes Campos Junior
-
sznelwar
-
Thiago Touya