require(plyr)
require(dplyr)
set.seed(8)
df <-
data.frame(
v1 = runif(10, -1,1),
v2 = runif(10, -1,1))
Vấn đề: Làm thế nào tôi có thể nhận được các giá trị đúng vào min()
chức năng như một phần của mutate()
- về cơ bản, tôi muốn gán v3
như v1
chia có kích thước nhỏ nhất là v1
và v2
. Điều này không hoạt động:R: sử dụng min() trong vòng dplyr :: đột biến()
df <-
df %>% mutate(v3=ifelse(v1 !=0, v1/min(v1,v2), 0))
Tôi đoán tôi đang thiếu một cái gì đó thực sự đơn giản.
Bạn có thể sử dụng 'pmin' tức là' chuyển đổi (df, v3 = ifelse (v1! = 0, v1/do.call (pmin, df), 0)) ' – akrun
Bất kỳ lý do cụ thể nào bạn tải gói' plyr' tại đây ? Tôi không nhớ những gì nên được nạp đầu tiên, nhưng trong trường hợp này bạn không nên tải 'plyr' ở tất cả. –
Phải, thông thường plyr đầu tiên, nhưng ở đây chỉ dplyr có thể được nạp. – user3375672