खोज…


परिचय

Dplyr और प्रोग्रामिंग के लिए आर उपयोग अमानक मूल्यांकन (एनएसई) इंटरैक्टिव प्रोग्रामिंग और मानक मूल्यांकन (एसई) के लिए में कई आधुनिक पुस्तकालयों 1

उदाहरण के लिए, summarise() फ़ंक्शन गैर-मानक मूल्यांकन का उपयोग करता है लेकिन summarise_() पर निर्भर करता है जो मानक मूल्यांकन का उपयोग करता है।

Lazyeval पुस्तकालय एनएसई कार्यों में मानक मूल्यांकन फ़ंक्शन को चालू करना आसान बनाता है।

मानक duspr क्रिया के साथ उदाहरण

संवादात्मक प्रोग्रामिंग में एनएसई कार्यों का उपयोग किया जाना चाहिए। हालांकि, एक नए पैकेज में नए कार्यों को विकसित करते समय, एसई संस्करण का उपयोग करना बेहतर होता है।

लोड dplyr और lazyeval:

library(dplyr)
library(lazyeval)

छनन

एनएसई संस्करण

filter(mtcars, cyl == 8)
filter(mtcars, cyl < 6)
filter(mtcars, cyl < 6 & vs == 1)

एसई संस्करण (एक नए पैकेज में प्रोग्रामिंग कार्यों के लिए उपयोग करने के लिए)

filter_(mtcars, .dots = list(~ cyl == 8))
filter_(mtcars, .dots = list(~ cyl < 6))
filter_(mtcars, .dots = list(~ cyl < 6, ~ vs == 1))

संक्षेप

एनएसई संस्करण

summarise(mtcars,  mean(disp))
summarise(mtcars,  mean_disp = mean(disp))

एसई संस्करण

summarise_(mtcars, .dots = lazyeval::interp(~ mean(x), x = quote(disp)))
summarise_(mtcars, .dots = setNames(list(lazyeval::interp(~ mean(x), x = quote(disp))), "mean_disp"))
summarise_(mtcars, .dots = list("mean_disp" = lazyeval::interp(~ mean(x), x = quote(disp))))

रूप बदलना

एनएसई संस्करण

mutate(mtcars, displ_l = disp / 61.0237)

एसई संस्करण

mutate_(
    .data = mtcars, 
    .dots = list(
        "displ_l" = lazyeval::interp(
                        ~ x / 61.0237, x = quote(disp)
            )
         )
)


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow