मेरे पास सूचियों की एक सूची है जहां मैं केवल पहला आइटम निकालना चाहता हूं और इन मानों को वेक्टर में लिखना चाहता हूं। मेरे पास यूआरएल हैं जिन्हें मैं टेक्स्ट के लिए पार्स करता हूं और फिर भाषा (पैकेज cld2) पुनर्प्राप्त करता हूं। मेरी समस्या यह है कि कभी-कभी भाषा मिश्रित होने पर 3 मान तक होते हैं (उदाहरण के लिए "एन" "डी") इसलिए मैं केवल पहले को सहेजना चाहता हूं। मुझे पता है कि इसे फॉर-लूप के साथ कैसे करना है, लेकिन मैं सोच रहा था कि क्या कोई और अधिक कुशल तरीका है? आर के बारे में ज्यादा जानकारी नहीं है लेकिन मैंने सुना है कि यदि संभव हो तो आपको लूप से बचने की कोशिश करनी चाहिए।

library(cld2)
library(rvest)
urls_test <- c("https://www.kickstarter.com/projects/1444419223/safetea-towel-fire-resistant-kitchen-towel", "https://www.kickstarter.com/projects/1704155986/des-vacances-en-enfer")
get_lang <- function(x) { read_html(x, trim = TRUE) %>% html_nodes(".js-full-description") %>% html_text() %>% detect_language()}
lang_codes <- map(urls_test, get_lang)

r
1
beld 6 सितंबर 2019, 19:45

1 उत्तर

सबसे बढ़िया उत्तर

pluck का उपयोग करने का एक विकल्प होगा

library(purrr)
map(lang_codes, pluck, 1)

या base R में lapply के साथ

sapply(lang_codes, `[[`, 1)
#[1] "en" "fr"
2
akrun 6 सितंबर 2019, 17:03