আর এ "।" (বিন্দু) এর অর্থ কী?


39

আমি কেবল "আর ইন সংক্ষেপে" বইটি পড়ছি। এবং দেখে মনে হচ্ছে আমি সেই অংশটি বাদ দিয়েছি যেখানে "।" যেমন "নমুনা.ফর্মুলা" ব্যাখ্যা করা হয়েছিল।

> sample.formula <- as.formula(y~x1+x2)

ক্ষেত্রের সূত্র সহ অন্যান্য ভাষাগুলির মতো নমুনা কি কোনও বিষয়? এবং যদি তা হয় তবে আমি কীভাবে এটি জানতে পারি যে এই অবজেক্টটির অন্যান্য ক্ষেত্র / ক্রিয়াকলাপ কী? (প্রজ্ঞাপনের প্রকার)

সম্পাদনা: আমি "" "এর আরও একটি বিভ্রান্তিকর ব্যবহার পেয়েছি:

> svm(formula = is_spam~., data = spambase.training)

(বিন্দু ~।, এর মধ্যে)


Is_spam see দিয়ে আপনি যে বিন্দুটি দেখছেন ~ কমান্ডের অর্থ কোনও ব্যাখ্যাযোগ্য ভেরিয়েবল নেই। সাধারণত মডেল সূত্র সহ, আপনি y ~ x দেখতে পাবেন, তবে আপনার যদি কোনও x ভেরিয়েবল না থাকে, y ~ ~ অন্য কোন ভেরিয়েবল ব্যবহার করে y এর মান অনুমান করতে বলে। এটিy=β0
ক্রিস্টোফার অ্যাডেন

12
@ ক্রিস্টোফার বিপরীতে, .সূত্রটিতে আর-কে ডেটাফ্রেমে সমস্ত পরিবর্তনশীল spambase.training( is_spamভবিষ্যদ্বাণীকারী হিসাবে) ব্যবহার করতে বলেছে । The মডেলটি উপযুক্ত । y=β0y ~ 1
কারাকাল

আমি সূত্র আগে পরীক্ষা করে নি। সংশোধনের জন্য আপনাকে ধন্যবাদ!
ক্রিস্টোফার অ্যাডেন

@ কারাকাল (+1) বাহ আমি কীভাবে এটি করব তা ভাবছিলাম। ধন্যবাদ!
টমাস লেভাইন

উত্তর:


30

বিন্দুটি সাধারণ নামের মতো ব্যবহার করা যেতে পারে। এটির অতিরিক্ত বিশেষ ব্যাখ্যা রয়েছে। মনে করুন আমাদের নির্দিষ্ট শ্রেণীর সাথে একটি বিষয় রয়েছে:

 a <- list(b=1)
 class(a) <- "myclass"

এখন myfunctionনিম্নলিখিত পদ্ধতিতে স্ট্যান্ডার্ড জেনেরিক হিসাবে ঘোষণা করুন :

 myfunction <- function(x,...) UseMethod("myfunction")

এখন ফাংশন ঘোষণা

 myfunction.myclass <- function(x,...) x$b+1

তারপরে বিন্দুর বিশেষ অর্থ রয়েছে। ক্লাস myclassকলিং সহ সমস্ত বস্তুর জন্য

 myfunction(a)

প্রকৃতপক্ষে কল ফাংশন হবে myfunction.myclass:

 > myfunction(a)
  [1] 2

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


আমি খুব আশ্চর্য হয়েছি যে এই উত্তরটি গৃহীত হয়েছিল এবং এতটা উত্সাহিত হয়েছিল, কারণ এটি প্রশ্নের কোনও উত্তর দেয় না! এটি উপবৃত্তিকে বোঝায় ...(যা একটি একক লেক্সেম, তিনটি পৃথক পৃথকের একের ক্রম নয়) যেখানে প্রশ্নের স্পষ্টতই বোঝা যায় একটি সূত্র এবং নামগুলিতে সম্পূর্ণ ভিন্ন উপায়ে ব্যবহৃত একটি বিন্দু . , যেমন সমকালীনভাবে সঠিকভাবে বর্ণিত হয়েছে চেজ দ্বারা উত্তর।
whuber

3
আচ্ছা আমি উপবৃত্তির কথা উল্লেখ করি না। আমি ব্যাখ্যা করার চেষ্টা করেছি যে ডটটি এস 3 পদ্ধতি প্রেরণের জন্য ব্যবহৃত হয়। জেনেরিক ফাংশনগুলিতে সাধারণত উপবৃত্ত থাকে, সে কারণেই আমি সেগুলি ব্যবহার করেছি। যদি সেগুলি কোড থেকে সরানো হয় তবে উত্তরটি পরিবর্তন হবে না। আমি কেবল অনুমান করতে পারি যে সম্পাদনা করার আগে আমি উত্তরটি দিয়েছিলাম, যেহেতু এখন প্রশ্ন বডিটি পড়ার পরে আমি একটি আলাদা উত্তর দেব give
এমপিটিকাস

1
ব্যাখ্যা করার জন্য আপনাকে ধন্যবাদ. আমি মনে করি আপনি "..." এর উপস্থিতি আমাকে দু'বার বিশ্বাস করে বিভ্রান্ত করেছিল যে আপনি এটিকে "বিন্দু" হিসাবে উল্লেখ করছেন।
whuber

12

জন্য সহায়তা পৃষ্ঠা তাকান ?formulaব্যাপারে .এখানে প্রাসঙ্গিক বিট আছে:

দুটি বিশেষ ব্যাখ্যা আছে। একটি সূত্রে। সাধারণ একটি মডেল ফিটিং ফাংশনগুলির একটি ডেটা আর্গুমেন্টের প্রসঙ্গে এবং এর অর্থ 'সমস্ত কলামটি অন্যথায় নয় সূত্রে': দেখুন শর্তাদি.ফর্মুলা। আপডেট.ফর্মুলার প্রসঙ্গে, কেবলমাত্র এর অর্থ 'সূত্রের এই অংশে আগে যা ছিল'।

বিকল্পভাবে, reshapeএবং reshape2প্যাকেজগুলি .এবং ...কিছুটা আলাদাভাবে (থেকে ?cast):

এখানে কয়েকটি বিশেষ ভেরিয়েবল রয়েছে: "..." সূত্র এবং "" তে ব্যবহৃত না হয়ে অন্য সমস্ত ভেরিয়েবলের প্রতিনিধিত্ব করে। কোন পরিবর্তনশীল প্রতিনিধিত্ব করে না


5

কিছু ব্যাতিক্রম রয়েছে (এস 3 পদ্ধতি প্রেরণ), তবে সাধারণত এটি সহজলভ্যতা সহায়তা হিসাবে ব্যবহৃত হয় এবং এর কোনও বিশেষ অর্থ নেই।


2
আমি এর বিপরীতে বলব - এর বিশেষ অর্থ রয়েছে (S3 প্রেরণ আপনি উল্লেখ করেছেন), তবে কিছু পুরানো নামকরণ কনভেনশনের ফলে ফাংশন নামগুলি S3 জেনারিক নয় এমন একটি নাম অন্তর্ভুক্ত করে যার নাম রয়েছে .। এটি ফাংশনগুলির নামের সাথে সম্পর্কিত। (অ-ফাংশন) অবজেক্টের নাম হিসাবে, তবে হ্যাঁ, এর কোনও বিশেষ অর্থ নেই।
মনিকা পুনরায় স্থাপন করুন - জি সিম্পসন

নামের শুরুতে, একটি .বস্তুকে ls()যদিও অদৃশ্য করে তোলে ।
কারাকাল

2

মধ্যে ডট sample.formula পৃথক না নমুনা থেকে সূত্র , চাক্ষুষরূপে ছাড়া অন্য। এটি কেবল একটি পরিবর্তনশীল নাম। আর ভেরিয়েবলের নামগুলিতে এক ব্যতিক্রম সহ বর্ণচিহ্ন এবং বিন্দু (।) এবং আন্ডারস্কোর (_) থাকতে পারে। আসল নিয়মটি এখানে:

" একটি সিনট্যাক্টিক্যালি বৈধ নামটিতে অক্ষর, সংখ্যা এবং বিন্দু বা আন্ডারলাইন বর্ণগুলি থাকে এবং একটি অক্ষর বা বিন্দু দিয়ে শুরু হয় একটি নম্বর অনুসরণ করে না।" .2 ওয়ে "এর মতো নামগুলি বৈধ নয়, এবং উভয়ই সংরক্ষিত শব্দ নয় " "

দ্বিতীয় কেস (যেমন, ইস_স্প্যামের ক্ষেত্রে ~। ) আলাদা এবং উপরে বর্ণিত।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.