আরেকটি সমস্যা, একটি NAMESPACE উপস্থিতিতে, আপনি প্যাকেজ থেকে একটি unexported ফাংশন চালানোর চেষ্টা করা হয় foo বিন্যাস ।
উদাহরণস্বরূপ (স্বীকৃত, আমি জানি, তবে):
> mod <- prcomp(USArrests, scale = TRUE)
> plot.prcomp(mod)
Error: could not find function "plot.prcomp"
প্রথমত, আপনার সরাসরি এস 3 পদ্ধতি কল করা উচিত নয়, তবে ধরা যাক plot.prcomp
আসলে প্যাকেজ ফুতে কিছু কার্যকর অভ্যন্তরীণ ফাংশন ছিল । আপনি কী করছেন তা যদি জানেন তবে এই জাতীয় ফাংশনটি কল করার জন্য ব্যবহারের প্রয়োজন :::
। ফাংশনটি খুঁজে পাওয়া যায় সেই নামের স্থানটিও আপনার জানতে হবে। ব্যবহার করে getAnywhere()
আমরা দেখতে পেলাম যে ফাংশনটি প্যাকেজ পরিসংখ্যানগুলিতে রয়েছে :
> getAnywhere(plot.prcomp)
A single object matching ‘plot.prcomp’ was found
It was found in the following places
registered S3 method for plot from namespace stats
namespace:stats
with value
function (x, main = deparse(substitute(x)), ...)
screeplot.default(x, main = main, ...)
<environment: namespace:stats>
সুতরাং আমরা এখন সরাসরি এটি ব্যবহার করে কল করতে পারি:
> stats:::plot.prcomp(mod)
plot.prcomp
উদ্দেশ্যটি বর্ণনা করার জন্য আমি উদাহরণ হিসাবে ব্যবহার করেছি । সাধারণ ব্যবহারে আপনি এস 3 পদ্ধতিগুলিতে কল করা উচিত নয়। তবে যেমনটি আমি বলেছি, আপনি যে ফাংশনটি কল করতে চান সেটি যদি বিদ্যমান থাকে (এটি উদাহরণস্বরূপ কোনও লুকানো ইউটিলিটি ফাংশন হতে পারে) তবে namespace
এটির মধ্যে রয়েছে , আর, আর-র প্রতিবেদন করবে যে কোন নামের স্থানটি সন্ধান করতে না বলা পর্যন্ত এটি ফাংশনটি খুঁজে পাবে না R ।
নিম্নলিখিত এই তুলনা করুন:
stats::plot.prcomp
উপরে ব্যর্থ কারণ যখন stats
ব্যবহারসমূহ plot.prcomp
, তা থেকে রপ্তানি করা হয় না stats
যেমন ত্রুটি ন্যায়ত আমাদের বলে:
ত্রুটি: 'প্লট.প্রম্পম্প' 'নেমস্পেস: স্ট্যাটাস' থেকে রফতানি হওয়া বস্তু নয় is
এটি নিম্নলিখিত হিসাবে নথিভুক্ত করা হয়:
pkg :: নাম এক্সপোর্ট করা ভেরিয়েবলের নাম নেমস্পেস পিকেগিতে ফিরিয়ে দেয়, অন্যদিকে পিকেজি ::: নামটি অভ্যন্তরীণ ভেরিয়েবল নামের মান প্রদান করে।