मैं एक स्क्रिप्ट कर रहा हूँ r
जो से कुछ डेटा लोड करता है csv
फ़ाइल। इसलिए मैं अपने डेटा को लोड करने के लिए इन फ़ंक्शन को उपयोगकर्ता करता हूं
data <- read.csv("info.csv",colClasses = "character")
और मेरा डेटा इन तरह दिखता है
a b c d ...
1 "A" 3 4 ...
5 "B" 7 8 ...
9 "C" 7 4 ...
9 "C" 2 5 ...
9 "A" 1 6 ...
केवल "पंक्तियों" या "ए" या दोनों या किसी अन्य स्ट्रिंग वाले पंक्तियों को फ़िल्टर कैसे किया जा सकता है?
उत्तर:
जवाब के लिए 2 № 1केवल एक के लिए, आप कोशिश कर सकते हैं:
data.Aonly <- data[data$b == "A", ]
या का उपयोग कर subset()
आदेश:
data.Aonly <- subset(data, b == "A")
या तो ए या सी के लिए, आप इसका उपयोग कर सकते हैं %in%
ऑपरेटर:
data.AC <- data[data$b %in% c("A", "C"), ]
, या
data.AC <- subset(data, b %in% c("A", "C"))
जवाब के लिए 2 № 2
यदि डेटा एक डेटा है। फ्रेम, आप कर सकते हैं
data[data$b == "C",]
कॉलम बी में सी के साथ सभी पंक्तियों को प्राप्त करने के लिए
जवाब के लिए 2 № 3
में dplyr पैकेज हम इस फॉर्म को लेते हैं:
data %.% filter(b == "A") ## OR...
filter(data, b == "A")
तो यहां यह वास्तविक डेटा सेट के साथ है। लेकिन प्रदर्शन से संबंधित कार्यों के बारे में अधिक जानकारी है। यदि आप वास्तव में चाहते हैं कि एक छोटे से डेटा सेट से कुछ पंक्तियों को पकड़ना है तो यह संभवतः यहां सबसे अच्छा जवाब नहीं है।
library(dplyr)
filter(mtcars, gear == 4) # OR...
tbl_df(mtcars) %.% filter(gear == 4)
tbl_df(mtcars) %.% filter(gear == 3)
tbl_df(mtcars) %.% filter(gear %in% 3:4)