R subset in association rules from spmf -


कोड:

  डेटा = read.csv ("। / Spmf1234.csv", हैडर = एफ); Df & lt; - data.frame (do.call ('rbind', strsplit (as.character (डेटा $ V1), '#', तय = एफ))); Df2 & lt; - data.frame (do.call ('rbind', strsplit (जैसा कि ascharchar (df $ x1), '== & gt;', fixed = f))); DF3 = cbind (df2, df); colnames (DF3) = सी ( "एलएचएस", "आरएचएस", "नियम", "सहायता", "विश्वास", "लिफ्ट"); Df4 & lt; - सबसेट (डीएफ 3, चयन = सी (एलएचएस, आरए, समर्थन, विश्वास, लिफ्ट)); अंतिम = सबसेट (DF4, एलएचएस = 1!);  

मैं सीएसवी फ़ाइल पर उपरोक्त कोड की कोशिश कर रहा हूं जो कि एसपीएमएफ से संबद्ध नियमों को प्राप्त करने के लिए मैं एफपी-ग्रोथ का प्रयोग कर रहा हूं। मैं चाहता हूं कि सभी नियमों को '1' में हटा दिया जाए, हालांकि यह काम नहीं कर रहा है।

csv फ़ाइल:

2 ==> 1 #SUP: 1 #CONF: 0.33333 # लाइफटी: 0.66667

1 ==> 2 #SUP: 1 #CONF: 0.33333 # लाइफटी: 0.66667

3 ==> 1 #SUP: 2 #CONF: 0.5 # लिफ्ट: 1

1 ==> 3 #SUP: 2 #CONF: 0.66667 # लिफ्ट: 1

3 ==> 2 #SUP: 2 # कॉन्फ़: 0.5 # लिफ्ट: 1

2 ==> 3 #SUP: 2 #CONF: 0.66667 # लिफ्ट: 1

2 3 ==> 1 #SUP: 1 #CONF: 0.5 # लिफ्ट: 1

1 3 ==> 2 #SUP: 1 #CONF: 0.5 # लिफ्ट: 1

1 2 ==> 3 #SUP: 1 #CONF: 1 # लिफ्ट: 1.5

3 ==> 1 2 #SUP: 1 #CONF: 0.25 # लिफ्ट: 1.5

2 ==> 1 3 #SUP: 1 #CONF: 0.33333 # लिफ्ट: 1

1 ==> 2 3 #SUP: 1 #CONF: 0.33333 # लिफ्ट: 1

  final = subset (df4, lhs! = 1)  

संख्यात्मक को वर्ण की तुलना करता है, जो काम नहीं करता:

  # & gt; जैसा कि चेचर (डीएफ 4 $ एलएचएस) # [1] "2" "1" "3" "1" "3" "2" "2 3" "1 3" "1 2" "3" "2" "1 " 

आप इस आसार की तरह एक नियमित अभिव्यक्ति का उपयोग करना चाहते हैं:

  final = subset (df4,! Grepl (" 1 \\ b ", lhs )) # & Gt; अंतिम # एलएचएस आरएएस समर्थन विश्वास उठा # 1 2 1 एसआईपी: 1 सीएनएफ़: 0.33333 लिफ्ट: 0.66667 # 3 3 1 एसयूपी: 2 सीएनएफ: 0.5 लिफ्ट: 1 # 5 3 2 एसआईपी: 2 सीएनएफ: 0.5 लिफ्ट: 1 # 6 2 3 SUP: 2 CONF: 0.66667 लिफ्ट: 1 # 7 2 3 1 एसयूपी: 1 सीएनएफ: 0.5 लिफ्ट: 1 # 10 3 1 2 सुपर: 1 सीएनएफ: 0.25 लिफ्ट: 1.5 # 11 2 1 3 सुपर: 1 सीएनएफ: 0.33333 लिफ्ट: 1  

जोड़ें:

  ## डाटा प्रीपरेशन डेटा & lt; - readLines (con = textConnection ("2 == & gt; ; 1 #SUP: 1 #CONF: 0.33333 # लाइफटी: 0.66667 1 ==> 2 # एसयूपी: 1 #CONF: 0.33333 # लिफ्ट: 0.66667 3 == & gt; 1 # एसयूपी: 2 # सीओएनएफ: 0.5 # लिफ्ट: 1 1 == & gt; 3 #SUP: 2 #CONF: 0.66667 # लिफ्ट: 1 3 ==> 2 #SUP: 2 #CONF: 0.5 # लिफ्ट: 1 2 == & gt; 3 #SUP: 2 #CONF: 0.66667 # लीफटी: 1 2 3 ==> 1 # एसयूपी: 1 #CONF: 0.5 # लिफ्ट: 1 1 3 == & gt; 2 # एसयूपी: 1 #CONF: 0.5 # लिफ्ट: 1 1 2 ==> 3 # SUP: 1 #CONF: 1 # लिफ्ट: 1.5 3 == & gt; 1 2 #SUP: 1 #CONF: 0.25 # लिफ्ट: 1.5 2 ==> 1 3 #SUP: 1 #CONF: 0.33333 # लाइफटी: 1 1 == & gt; 2 3 #SUP: 1 #CONF: 0.33333 # लिफ्ट: 1 ")) आर एंड एलटी; - रेगेक्सेक (पैटर्न =" ([0- 9] +) \\ s == & gt; \\ s ([0-9] +) \\ s \\ # SUP: [। 0-9] \\ s (+) \\ s \\ # CONF: \\ s ([। 0-9] +) \\ s \\ # LIFT: \\ s ([0-9।] +) ", टेक्स्ट = डेटा) m & lt; - regmatches (डेटा, आर) df & lt; - setNames (as.data.frame (do.call (rbind, lapply (m, "[", -1)), स्ट्रिंग्सफैक्टर्स = FALSE, c ("lhs", "rhs", "support", "आत्मविश्वास", "लिफ्ट")) ## शामिल करने / निकाले जाने वाली पंक्तियां & lt; - sapply ( किसी भी (as.inger (x)% 1 में: 1000)) df [include,]  

Comments

Popular posts from this blog

Member with no value in F# -

java - Joda Time Interval Not returning what I expect -

c# - Showing a SelectedItem's Property -