मैंने लिपि में एक त्रुटि में भाग लिया है जो मैं लिख रहा हूं जो केवल तब होता है जब मेरे पास dplyr
चल रहा है। मुझे पहली बार सामना करना पड़ा जब मुझे dplyr
से एक फ़ंक्शन मिला जो मैं उपयोग करना चाहता था, जिसके बाद मैंने पैकेज स्थापित किया और चलाया। मैं स्तंभ मानों मैं इसे में सूचकांक के रूप में उपयोग करने के लिए जा रहा हूँ है कि एक्सेल से एक तालिका में पढ़ाdplyr अमान्य सबस्क्रिप्ट प्रकार सूची
पहले::
library(readxl)
examplelist <- read_excel("example.xlsx")
फ़ाइल की सामग्री रहे हैं: यहाँ मेरी त्रुटि का एक उदाहरण है
1 2 3 4
1 1 4 1
2 3 2 1
4 4 1 4
और फिर मैं एक डेटा फ्रेम का निर्माण:
testdf = data.frame(1:12, 13:24, 25:36, 37:48)
और फिर मैं एक पाश एक फ़ंक्शन को कॉल किया है सूचकांक के रूप में examplelist
के मानों का उपयोग करता है।
testfun <- function(df, a, b, c, d){
value1 <- df[[a]]
value2 <- df[[b]]
value3 <- df[[c]]
value4 <- df[[d]]
}
for (i in 1:nrow(examplelist)){
testfun(testdf, examplelist[i, 1], examplelist[i, 2],
examplelist[i, 3], examplelist[i, 4])
}
जब मैं dplyr
बिना इस स्क्रिप्ट को चलाने, सब कुछ ठीक है, लेकिन dplyr
साथ यह मुझे त्रुटि देता है:
Error in .subset2(x, i, exact = exact) : invalid subscript type 'list'
क्यों dplyr
इस त्रुटि कारण होने के होता है, और मैं इसे कैसे ठीक कर सकते हैं?
यह काम करता है, लेकिन मुझे अभी भी समझ में नहीं आता है कि 'dplyr' लोडिंग क्यों' examplelist [1, 2] '(जिसे मैंने अब और बिना 'dplyr' के चेक किया है) के मान को बदल दिया है। मैं उम्मीद करता हूं कि डेटा फ्रेम को [ए, बी] के साथ सब्सक्राइब करते समय यह परिणाम को सरल बना देगा (या कम से कम यही है कि उन्नत आर ने मुझे बताया)। 'Dplyr' को उस व्यवहार को क्यों बदलना होगा, और कैसे? –