2016-09-19 23 views
6

Tôi đã đọc nhiều bài đăng nếu tuyên bố nhưng không thể tìm thấy câu trả lời cho vấn đề đơn giản của mình. Tôi muốn tạo cột mới trong khung dữ liệu 'thử nghiệm' dựa trên điều kiện nhiều câu lệnh if.R nhiều điều kiện trong câu lệnh if

tester<- as.data.frame(matrix(data=c(seq(1,300,by=1.5)), ncol=4)) 

if (tester$V3> 200 && tester$V4>250){tester[,5] <- "one"} else tester$V5 <-NA 

Điều này cung cấp cho tôi NA cho toàn bộ cột mặc dù 17 hàng cuối cùng TRUE cho cả hai trường hợp và phải là "một". Chuyện gì đang xảy ra ở đây? Cảm ơn sự giúp đỡ của bạn!

+10

thử $ V5 <- ifelse (tester $ V3> 200 & thử nghiệm $ V4> 250, "một", NA) – HubertL

+0

cảm ơn bạn đã hoạt động! tại sao tôi không làm việc? – user3431218

+1

Vì bạn đã sử dụng && –

Trả lời

1

Đọc chủ đề này R - boolean operators && and ||.

Về cơ bản, & được vector hóa, nghĩa là nó hoạt động trên từng phần tử so sánh trả về một mảng hợp lý có cùng kích thước với đầu vào. && không phải là, trả về một logic duy nhất.

Các vấn đề liên quan