ইমাস স্পিকস স্ট্যাটিস্টিক্স (আর এর সাথে) শেখার জন্য কিছু ভাল রেফারেন্স / পরামর্শ কী কী?


9

আমি বেশ কয়েক বছর ধরে আর ব্যবহার করে আসছি তবে আমি সর্বদা টিন-আর, জেজিআর এবং সম্প্রতি আর স্টুডিওর মতো একটি জিইউআই ব্যবহার করেছি।

যদিও আমি আর-স্টুডিওর ইন্টারফেস পছন্দ করি তবে আমার মনে হয় যে কম / না গ্রাফিক্স সহ দীর্ঘতর প্রোগ্রামগুলির জন্য আমি ইমাসসের মতো আরও একটি বেসিক পাঠ্য সম্পাদক দ্বারা প্রদত্ত শর্টকাটগুলির সুবিধা নিয়ে আরও দক্ষতার সাথে কোড করতে পারি।

আমি ইমাসস এবং ইএসএস প্লাগইন ইনস্টল করেছি, সবকিছু ঠিকঠাকভাবে কাজ করছে এবং আমি কিছু কোড পরীক্ষা করেছি, তবে এটির অভ্যস্ত হতে আমার খুব অসুবিধা হচ্ছে এবং আমি একটি উপযুক্ত রেফারেন্স ম্যানুয়াল পাইনি।

গুগল অনুসন্ধানগুলি টিউটোরিয়ালগুলির সাহায্যে কয়েকটি খুব তারিখযুক্ত ওয়েবসাইট ফেরত দেয় যা প্রাথমিকভাবে প্লাগইনগুলি ইনস্টল এবং কনফিগার করার উপর দৃষ্টি নিবদ্ধ করে এবং অফিসিয়াল ওয়েবসাইটে ম্যানুয়ালটি আমার পক্ষে কিছুটা ঘন।

আমি আর এর সাথে পরিচিত এমন ব্যক্তির জন্য নকশাকৃত তুলনামূলক সংক্ষিপ্ত পরিচিতি (আদর্শভাবে স্ক্রিনশট এবং হটকিগুলির একটি তালিকা সহ) খুঁজছি, তবে ইমাসকে নয়।

শুরু করার বিষয়ে কোনও রেফারেন্স বা অন্যান্য টিপস প্রশংসিত হবে।

উত্তর:


11

প্রথমে আপনাকে ইমাস দিয়ে অপারেটিং বেসিক পাঠ শিখতে হবে। যেহেতু ইম্যাকগুলি খুব সহজেই কীভাবে পাঠ্য এবং অনুলিপি নির্বাচন করতে হয় তা খুঁজে বের করা খুব চ্যালেঞ্জপূর্ণ হতে পারে। সুতরাং কীভাবে এটি দক্ষতার সাথে করবেন তা সন্ধানের জন্য কিছুটা সময় বিনিয়োগ করুন। ম্যানুয়ালটি পড়া সাহায্য করতে পারে। ম্যাক ওএস এক্স অ্যাকোম্যাকস ব্যবহারের জন্য, এটি নেটিভ শর্টকাটকে সমর্থন করে।

ইএসএসের সাথে কাজ করা আর এর সাথে কাজ করা থেকে আলাদা নয় organiz সাংগঠনিক কোডের জন্য একই নিয়মগুলি প্রয়োগ করা উচিত। আমার ক্ষেত্রে প্রতিটি প্রকল্পের নিজস্ব ডিরেক্টরি রয়েছে, যা আর্ট নামে অভিভাবক ডিরেক্টরিতে থাকে যা আমার হোম ডিরেক্টরিতে রয়েছে (উইন্ডোজের জন্য, আমি ইমাস হোম ডিরেক্টরিটি ডিরেক্টরিতে নির্দেশ করি যেখানে আপনার সমস্ত উত্স থাকে)। সুতরাং যখন আমি প্রকল্পটিতে কাজ করার জন্য ESS ব্যবহার করি আমি সর্বদা করি M-x Rএবং প্রারম্ভিক ডিরেক্টরিটি আমার প্রকল্প ডিরেক্টরিটি নির্বাচন করি।

আর প্রক্রিয়া শুরু করার পরে, আমি সাধারণত দুটি উইন্ডোতে ইমাস বিভক্ত করি (ইমাস টার্মিনোলজি)। তারপরে বামে আমার একটি সোর্স কোড রয়েছে যা আমি ডানদিকে আর প্রসেসে প্রেরণ করি। প্রাসঙ্গিক শর্টকাটগুলি (এগুলি ইমাক শর্টকাটগুলি) বর্তমান বিফারটিকে একমাত্র উইন্ডো তৈরি করার জন্য এবং উইন্ডোগুলি অনুভূমিকভাবে বিভক্ত করার জন্য উইন্ডোটিকে C-x 3উল্লম্বভাবে বিভক্ত করার জন্য।C-x 1C-x 2

আর-তে কোড প্রেরণ করার সময়, আমি ফাংশন এবং আর স্টেটমেন্টের মধ্যে পার্থক্য রাখি। আমি আমার সমস্ত ফাংশন সাধারণত একটি ফাইল রেখে দিয়ে থাকি 10code.R। তারপরে আমি লোড ইএসএস ফাইল বিকল্প (শর্টকাট C-c C-l) ব্যবহার করে এই ফাইলটি লোড করতে পারি । এই পদ্ধতির সুবিধা হ'ল এটি সমস্ত ফাংশন উত্স করে এবং আর বাফারে কিছুই উত্পাদন করে না। আপনার কোডটিতে যদি কোনও ত্রুটি হয় তবে ESS মিনি মিনিটে একটি বার্তা দেখায় এবং আপনি এটি টিপতে এটি তদন্ত করতে পারেন C-c`

অন্য কোডটি হ'ল আর স্টেটমেন্টস, যা আমি স্ব-ব্যাখ্যামূলক রাখার চেষ্টা করি: লোড ডেটা, পরিষ্কার ডেটা, পরিসংখ্যানের মডেলটি ফিট করে, ফলাফলগুলি পরীক্ষা করে, চূড়ান্ত ফলাফল দেয়। এই বিবৃতিগুলির উত্স কোডটি প্রকল্পের বর্তমান অবস্থা। অভিপ্রায়টি হ'ল প্রকল্পটি শেষ হয়ে যাওয়ার পরে, এই কোড দিয়ে ফাইলগুলি সোর্সিং করে, প্রকল্পটি পুনরুত্পাদন করে (আমি ইতিহাসের সন্ধানের জন্য গিটও ব্যবহার করি)। এই ফাইলটির সাথে কাজ করার সময়, আমি সাধারণত কেবলমাত্র একটি আর স্টেটমেন্ট দিয়ে কাজ করি, যা আমি আর প্রসেসে ইভাল ফাংশন, অনুচ্ছেদ, বিবৃতি কমান্ডের মাধ্যমে প্রেরণ করি যা শর্টকাট C-c C-c। এই কমান্ডটি অনুচ্ছেদে প্রক্রিয়াকরণে প্রেরণ করে, অর্থাত পাঠ্য যা নতুন রেখাগুলির দ্বারা সীমিত করা হয়। এটি সুবিধাজনক, যেহেতু আপনি আর স্টেটমেন্টগুলিকে কার্যগুলিতে গ্রুপবদ্ধ করতে পারেন এবং পুরো টাস্কটিকে আর প্রক্রিয়াতে প্রেরণ করতে পারেন। এটির জন্য পাঠ্য নির্বাচন করাও প্রয়োজন হয় না, এটি খুব সুবিধাজনক। শর্টকাটC-c C-c এর সুবিধা রয়েছে যে এটি কার্সারটিকে আর উইন্ডোতে নিয়ে যায়, সুতরাং আপনি তাত্ক্ষণিক প্রেরিত আর স্টেটমেন্টের ফলাফলগুলি পরীক্ষা করতে পারবেন।

সুতরাং আমার প্রাথমিক কর্মপ্রবাহটি উইন্ডো এবং বাফারগুলির মধ্যে অনেকটা এগিয়ে চলেছে। এটির সুবিধার্থে আমি আমার .emacs ফাইলে নিম্নলিখিত শর্টকাটগুলি ব্যবহার করি:

(define-key global-map [f1] 'Control-X-prefix)
(define-key global-map [f3] 'find-file)
(define-key global-map [f2] 'save-buffer)
(define-key global-map [f8] 'kill-buffer)
(define-key global-map [f5] 'switch-to-buffer)
(define-key global-map [f6] 'other-window)
(define-key global-map [f9] 'ess-load-file)

আমি খুব কমই ব্যবহার করি f1, তবে অন্যরা খুব ঘন ঘন। আমি ব্যবহার করি এমন অন্যান্য নির্দিষ্ট ESS সেটিংস নিম্নলিখিত:

(setq comint-input-ring-size 1000)
(setq ess-indent-level 4)
(setq ess-arg-function-offset 4)
(setq ess-else-offset 4)

এটি ESS কে ট্যাব 4 টি অক্ষর প্রশস্ত করতে বলে (ডিফল্টটি 2), যা আমার ব্যক্তিগত পছন্দ এবং আপনার জারি করা আদেশগুলি ESS ইতিহাস হিসাবে সংরক্ষণ করে তার সংখ্যা প্রসারিত করে।

সরাসরি আর প্রক্রিয়া নিয়ে কাজ করার জন্য আমি নিম্নলিখিত শর্টকাটগুলি খুব দরকারী বলে খুঁজে পেয়েছি:

(add-hook 'inferior-ess-mode-hook 
      '(lambda nil 
         (define-key inferior-ess-mode-map [\C-up] 'comint-previous-matching-input-from-input)
             (define-key inferior-ess-mode-map [\C-down] 'comint-next-matching-input-from-input)
        (define-key inferior-ess-mode-map [\C-x \t] 'comint-dynamic-complete-filename)
        )
)

এটি আপনার আর স্টেটমেন্টের ইতিহাসের আর স্টেটমেন্টটিকে স্মরণ করে, তবে এটি ইতিমধ্যে আপনার লাইনে থাকা একটির সাথে এটি মিলিয়ে দেওয়ার চেষ্টা করে। সুতরাং উদাহরণস্বরূপ plআর প্রসেসে টাইপ করা এবং টিপুন \C-up(এটি নিয়ন্ত্রণ এবং উপরের তীর) সমস্ত বিবৃতি দিয়ে শুরু plহবে যা শুরু হয় , সুতরাং উদাহরণস্বরূপ সমস্ত plot(...কমান্ড স্মরণ করবে ।

আমি ইএসএসের সাথে চূড়ান্ত সেটিংটি ব্যবহার করছি:

(setq ess-ask-about-transfile t)

এই পদ্ধতিতে ESS সর্বদা জিজ্ঞাসা করে আর প্রক্রিয়ায় বাফারে পাঠ্যটি কোথায় সংরক্ষণ করতে হবে। আমি সাধারণত তারিখ অনুসারে এই ফাইলগুলি সংখ্যা করে থাকি, তাই আমি ঠিক কী করছিলাম তা ট্র্যাক করার আমার কাছে অন্য একটি উপায় রয়েছে। এই বিকল্পটির একমাত্র সতর্কতা হ'ল কোনও কারণে ইএসএস আর লোড করার পরে আর বাফারটি কেবল পড়ার জন্য সেট করে buff বাফার লিখিতযোগ্য করার শর্টকাটটি C-x C-q

সুতরাং এগুলি আমার সেটিংস যা আমি ইএসএসের সাথে কাজ করার জন্য ব্যবহার করি, সেগুলি নিয়ে আমি খুশী বোধ করি এবং কয়েক বছরের জন্য আমি ইতিমধ্যে কিছু যুক্ত করার প্রয়োজন বোধ করি না। প্রথমবারের ব্যবহারকারীদের কাছে ইএসএস প্রবর্তন করার সময় আমি সাধারণত এই ওভারভিউটি দিই।

আমি চূড়ান্ত শর্টকাট দিয়ে শেষ করব যা ইমাক্স এবং বিশেষত ইএসএসের সাথে কাজ করার সময় আমার জন্য সবচেয়ে বেশি ব্যবহৃত শর্টকাট C-gযা মিনি-বাফারে কমান্ডটি প্রস্থান করে। সারা বছর ধরে আমি ইমাসস এবং ইএসএসের সাথে কাজ করি আমি এখনও কিছু ইম্যাক কমান্ডটি পরিচালনা করতে পারি যা আমি চাইনি, C-gএই পরিস্থিতিতে খুব সহায়ক।


ধন্যবাদ! এই তথ্যটি খুব সহায়ক, আমি আমার ইমাস সেটআপটি একইভাবে কনফিগার করার চেষ্টা করব। অপারেটিং সিস্টেমের নির্দিষ্ট পয়েন্টগুলি সম্পর্কে, আমি লিনাক্সে রয়েছি (ফেডোরা 15) সুতরাং কনফিগারেশন / বিন্যাসে কোনও পার্থক্য রয়েছে কিনা তা আমি নিশ্চিত নই।
উইল

ফেডোরার সাথে আপনার প্লেইন ইম্যাক্স পাওয়া উচিত। ফেডোরার সরবরাহকৃত সংস্করণটি ব্যবহার না করে হাতে হাতে ESS ইনস্টল করার পরামর্শ দেব, যেহেতু এটি সম্ভবত খুব পুরানো। সুতরাং প্রথমে প্রথমে পরীক্ষা করে দেখুন কীভাবে পাঠ্য ম্যানিপুলেটেড হয় এবং কোন কীটি মেটা। আমার সন্দেহ M-w C-y C-wহয় কপি, পেস্ট, কাট হিসাবে কাজ করবে।
এমপিক্টাস

2

আপনি কোথায় আছেন তার উপর নির্ভর করে এটি আপনার পক্ষে কাজ নাও করতে পারে তবে আমি হলের নিচে এমন কাউকে পেয়েছি যিনি এটি ব্যবহার করেছেন এবং প্রশ্নগুলি দিয়ে তাদের প্রবেশ করেছেন। এটি দিয়ে লাঠি, এটি মূল্য!

একটি টিপ যা আমি বিশেষভাবে দরকারী বলে দেখেছি তা হল চুয়া-মোড ব্যবহার করা; এটি ইম্যাক্সকে আধুনিক প্রোগ্রামগুলির সাথে কিছু সাধারণ কীবোর্ড শর্টকাটগুলি (যেমন সংরক্ষণ, কাটা, অনুলিপি) ভাগ করে তোলে। আমি চুয়া-মোডে আয়তক্ষেত্র মোড ব্যবহার করা আরও সহজ পেয়েছি।


2
টিপটির জন্য ধন্যবাদ, আমি CUA মোড সক্ষম করেছি। অন্যান্য টিপ সম্পর্কিত, আমার মূল প্রেরণা ইএসএস শেখার জন্য আমার প্রফেসরগুলির মধ্যে একজন বক্তৃতা করার সময় কত দ্রুত কোড সম্পাদনা করতে পারে তা দেখছিল। গ্রীষ্মের জন্য আমি ক্যাম্পাস থেকে দূরে আছি, তবে ফিরে আসার পরে আমি একজন "পরামর্শদাতা" খুঁজে বের করার চেষ্টা করব।
উইল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.