İşte benim verilerin bir enstantane:R, mutasyon ve "sütununda için desteklenmeyen tip NILSXP"
structure(list(CPUBID = c(1000001L, 1000002L, 1000003L, 10001L,
1000201L, 1000203L, 10003L, 1000801L, 1000802L, 1000803L, 1001L,
1001101L, 1001102L, 1001601L, 1002401L, 1002402L, 1002403L, 1002601L,
1002602L, 1002604L), MPUBID = c(10000L, 10000L, 10000L, 100L,
10002L, 10002L, 100L, 10008L, 10008L, 10008L, 10L, 10011L, 10011L,
10016L, 10024L, 10024L, 10024L, 10026L, 10026L, 10026L), CYRB = c(1982L,
1984L, 1988L, 1985L, 1986L, 1992L, 1993L, 1984L, 1986L, 1988L,
1983L, 1987L, 1992L, 1977L, 1981L, 1984L, 1998L, 1980L, 1981L,
1984L), twinfam = c(0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L), SAMESEX = c(1L, 1L, 1L,
1L, 0L, 0L, 1L, 0L, 0L, 0L, 1L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L,
0L), top25 = c(0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0,
0, 0, 0, 0), top5 = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0), quantity = c(1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1)), .Names = c("CPUBID", "MPUBID",
"CYRB", "twinfam", "SAMESEX", "top25", "top5", "quantity"), row.names = c(NA,
20L), class = "data.frame")
ben twinfam (ailede ikiz) ve SAMESEX kullanmaya çalışıyorum (ilk iki doğan çocukların aynı cinsiyetten) ikili değişkenler 4 olası değerleri alır dördüncü bir değişken oluşturmak için:
1 ise SAMESEX == 0 & twinfam == 0
2 SAMESEX == 1halindetwinfam == 0
3 ise SAMESEX == 0 & twinfam == 1
4 ise SAMESEX == 1 & twinfam == 1
biraz uğraşırken sonra kullanarak çalıştı:
df <- df %>% mutate(both = for (i in 1:nrow(PIATmathreg6)) {
if(twinfam[i] == 0 & SAMESEX[i] == 0) both = 1
else if(twinfam[i] == 0 & SAMESEX[i] == 1) both = 2
else if(twinfam[i] == 1 & SAMESEX[i] == 0) both = 3
else both = 4})
ama hata alıyorum:
ve bu hatayı gideremiyor gibi görünüyor. Bu hatayı almamın ve nasıl çözüleceğine dair herhangi bir tavsiye memnuniyetle karşılanacaktır!
@akrun Uzun zamandır konuşma yok. Bilgi için teşekkürler. Case_when() 'hakkındaki son güncellemem, Haziran ayında R blogger'larında Hadley'nin yazdığı yazıydı. Şimdi fonksiyonun mutasyon() 'da çalıştığını biliyorum. Teşekkür ederim. :) – jazzurro
Tekrar görüştüğümüze sevindim. Umarım iyisindir. – akrun
@akrun İyi iş çıkarıyorum. İşimden dolayı kendime yaptığım gibi burada kendimi işlemek için zamanım yok. Ama ben kendim için zamanım olduğu için Eylül ayında daha çok olacağım. Bu arada, mydf%>% mutasyon (her ikisi = case_when (. $ SAMESEX == 0 &. $ Twinfam == 0 ~ 1, ...) 'çalışır. Fakat mutasyon (mydf, both = case_when (. $ SAMESEX == 0 &. $ Twinfam == 0 ~ 1, ...) 'çalışmıyor. Neden böyle olduğunu biliyor musunuz? – jazzurro