Giả sử tôi đã một data.frame
như sau:Đặt cờ nếu một cột giá trị được phù hợp với những người trong vector khác
a <- data.frame(id=c(1,3,4,5,7,8,9,6,54,3,5,6,87,6))
Và tôi có một vector temp
như sau:
temp<-c(1,3,5,9)
Bây giờ , Tôi muốn tạo cột mới flag
trên data.frame của tôi, nơi nó phải là 1
trong đó id
nằm ở temp
và 0
ở nơi khác. Đây là những gì tôi đã thử:
a$flag <- ifelse(a$id==temp, 1, 0)
và sản lượng mong muốn phải là (1,1,0,1,0,0,1,0,0,1,1,0,0,0)
.
Nhưng từ mã của tôi ở trên, flag
không được cập nhật đúng cách. Tôi đang thiếu gì ở đây? Tôi có thể sử dụng %in%
không? Nếu vậy, làm thế nào?
Cảm ơn bạn đã giúp đỡ
+1, chào mừng bạn đến với SO. Tuy nhiên, đây có vẻ là một câu hỏi khá cơ bản. Tôi đề nghị bạn tìm kiếm SO trước khi đăng. – Arun
'ifelse' không hoạt động do tái chế do độ dài khác nhau của vectơ của bạn. –