আর আর জুলিয়াকে সংযুক্ত করছেন?


135

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

তাই:

  • আর ও জুলিয়াকে যুক্ত করার জন্য কী কী সুবিধা রয়েছে?
  • আরসিপ্পির শূন্যের স্কেলগুলিতে তারা কতটা দৃust় এবং সুচিন্তিত?

আমি জুলিয়াকে আর থেকে কল করতে চাই, আরসিপি ঠিক এখন আর এর মধ্যে থেকে সি ++ কল করার অনুমতি দেয়। আমি জুলিয়া থেকে আর কল করতে চাই না। (সুতরাং আরসিএল.জেল কাজ করবে না)


7
আমার অনুমান যে আপনি খুব প্রথম দিকে গ্রহণকারী এবং সেই দণ্ডের সাপেক্ষে। আমি ভুল হতে পেরে খুশি হব - আপনি কাজটি করতে পেরে এবং মধ্যম গ্রহণকারীদের জন্য আমাদের পথ সুগম করার জন্যও আমি খুশি হব ...
বেন বলকার

15
পারফরম্যান্স বেঞ্চমার্কগুলিতে তারা যে ফাংশনগুলি ব্যবহার করে সেগুলি আর: github.com/JuliaLang/julia/blob/master/test/perf/perf.R ব্যবহার করার মতো সুন্দর অস্বাভাবিক উপায় বলে মনে হচ্ছে । এটি প্রায় ফেরেরিতে ডিজেল লাগানোর মতো ...
জেমস

2
প্রশ্নটি প্রাসঙ্গিক। জুলিয়ার জন্য এসি এবিআই উঠে আসছে বলে মনে হচ্ছে। খুব শীঘ্রই জুলিয়া-টু-আর ইন্টারফেস তৈরির সময়ে আমার ছুরিকাঘাতের সুযোগ রয়েছে।
lgautier

4
আমার কাছে জুলিয়া-টু-আর ব্রিজ মোটামুটিভাবে কাজ করছে ( github.com/lgautier/Rif.jl )। অন্যদিকে ঘুরতে কাজ জুলিয়া প্রান্তে এখনও কর্ম-স্থগিতের উপর নির্ভর করে।
lgautier

3
@ এলগৌটিয়ার আমি আন্তরিকভাবে আশা করি আপনি নিজের কাজটি পুনরায় শুরু করতে পারবেন। হেল, যদি এটি সমর্থন করার জন্য একটি কিকস্টার্টার পৃষ্ঠা থাকত তবে আমি অবশ্যই সেখানে উপস্থিত ছিলাম।
ম্যাক্সিম.কে

উত্তর:


42

আর জুলিয়া আর প্যাকেজটি এখন বেশ ভাল দেখাচ্ছে আর থেকে R CMD checkসতর্কবাণী বা ত্রুটি ছাড়াই চলে (যদি juliaসঠিকভাবে ইনস্টল করা থাকে)।

আমার দৃষ্টিতে সবচেয়ে বড় টুডো হ'ল জুলিয়াকে নামযুক্ত তালিকাগুলি ফিরিয়ে আনতে হবে যা সত্যিকার অর্থেই মূল নমনীয় সাধারণ ডেটা কাঠামো গঠন করে named

দ্রষ্টব্য যে ডগ বাটস আমাকে জুলিয়া থেকে আর পর্যন্ত দ্বি-দিকনির্দেশক ইন্টারফেস সম্পর্কে RCall সম্পর্কে সতর্ক করেছিল (অর্থাত্, জুলিয়া থেকে আর দিকে অন্য দিক) direction এছাড়াও, ডুল জুলিয়ার বর্তমান স্থিতিশীল সংস্করণগুলির চেয়ে জুলিয়াকে 0.4.0 টার্গেট করার সুপারিশ করেছে ।


57

আমিও জুলিয়ার দিকে তাকাচ্ছি যখন থেকেই ডগ বেটস আমাকে জানুয়ারীতে একটি শিরোনাম পাঠিয়েছিল । তবে @ gsk3 এর মতো আমি এটি "আরসিপিপি স্কেল" দিয়ে পরিমাপ করি কারণ আমি সমৃদ্ধ আর বস্তুগুলিকে জুলিয়ায় যেতে চাই। এবং এটি এখনই সমর্থিত বলে মনে হচ্ছে না।

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

জুলিয়া একটু পরিপক্ক হওয়ার আগেই আমরা রিজার্ভে টিসিপি / আইপি ব্যবহার করে একটি অপ্রত্যক্ষ ইন্টারফেসের প্রথম সূচনা হতে পারি এবং আমরা একটি সঠিক সি ++ ইন্টারফেস পাই। বা আমরা মধ্যবর্তী স্তরটি প্রবেশ করার আগে আর থেকে সি ++ পেতে আরসিপ্পের উপর ভিত্তি করে কিছু ব্যবহার করি [যা কারও কাছে লিখতে হবে] যা থেকে আমরা জুলিয়ায় ডেটা ফিড করি ঠিক যেমন আসল আর এপিআই কেবল একটি সি স্তর সরবরাহ করে। জানিনা।

এবং দিন শেষে, কিছু ধৈর্য প্রয়োজন হতে পারে। আমি 1996 বা 1997 সালের দিকে আর দিকে তাকাতে শুরু করি যখন ফ্রিটজ লেশ কম্প.স.লিনাক্স.নানউন নিউজগ্রুপে প্রথম ঘোষণা করেন। আর এর পরিবর্তে সীমাবদ্ধ সুবিধাগুলি ছিল (তবে এস ভাষার সম্পূর্ণ প্রতিশ্রুতি, অবশ্যই আমরা জানতাম যে আমাদের বিজয়ী ছিল)। এবং কয়েক বছর পরে আমি এটিকে আমার প্রাথমিক মডেলিংয়ের ভাষা করতে প্রস্তুত ছিলাম। তখন সিআরএএন এর কাছে 100 টিরও কম প্যাকেজ ছিল ...

জুলিয়া ভালভাবে সেখানে যেতে পারে। তবে আপাতত আমি সন্দেহ করি যে আমাদের মধ্যে অনেকেই আর-তে কাজ করবে এবং জুলিয়ায় কিছু কৌতূহল ঝলক রয়েছে।


1
যেহেতু আমার জানা
মতে জুলিয়াতে

48

জুলিয়া ডেভলপমেন্ট প্ল্যান, যেমনটি আমি এই উত্তরে বর্ণনা করেছি হ'ল জুলিয়া কোডটি ভাগ করে নেওয়া লাইব্রেরিতে সি এবিআই ব্যবহার করে কল করার অনুমতি দেওয়া। এটি হয়ে গেলে, সি / সি ++ কোড কল করা যতটা সহজ হয় সে থেকে আর থেকে জুলিয়া কোড কল করা সহজ হবে। তবে এটি সম্ভব হওয়ার আগে যথেষ্ট পরিমাণ কাজ প্রয়োজন।


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

8
আপনি যখন এটি লিখেছেন তখন কি এই পরিস্থিতি বদলেছে? (পিএস আমি জুলিয়াকে ভালবাসি , এতে আপনার কাজের জন্য ধন্যবাদ!)
অ্যান্ডি

23

একটি দ্রুত আপডেট। যেহেতু এই প্রশ্নটি জিজ্ঞাসা করা হয়েছিল, জুলিয়া প্যাকেজের সূচনা হয়েছিল যা জুলিয়ার মধ্যে থেকেই একজনকে আর প্রোগ্রামগুলি কল করার অনুমতি দেয়।

আরও এখানে: https://github.com/lgautier/Rif.jl


1
ধন্যবাদ, তবে উপরে lgautier থেকে মন্তব্য দেখুন। এটি বিপরীত দিক। আমি জুলিয়াকে আর এর মধ্যে থেকে কল করতে চাই
এরি বি ফ্রিডম্যান

5
+1 কারণ জুলিয়ার মতো সংকীর্ণ বিষয়ে প্রতিটি
তথ্যই

@ অরিবি.ফ্রিডম্যান যেমন বলেছেন, এটি কোনও নতুন তথ্য নয় - এবং আমরা সবাই জুলিয়াকে আর থেকে ডাকতে চাই, অন্যভাবে নয়।
মার্টিন মাচলর

13

কেউ কি এই প্রকল্প দেখেছেন?

https://github.com/armgong/RJulia

মোটামুটি নতুন তবে মনে হচ্ছে ঠিক অনুরোধ করা হচ্ছে!


4
ইঙ্গিতটির জন্য ধন্যবাদ। প্রকৃতপক্ষে এটি সমাধান হলে এটি কাজ করবে। আমি ইনস্টল করার চেষ্টা করেছি (খুব বর্তমান আর 3.1.2 প্যাচ ব্যবহার করে) এবং জুলিয়া (0.4.0-dev .. উবুন্টু প্যাকেজ হিসাবে ডিসেম্বর 30, 2014 এ আপডেট হয়েছে)। তারপরে সংকলন ব্যর্থ হয়েছে এবং আমি গিথুব ইস্যুটি খুললাম github.com/armgong/RJulia/issues/10 আসুন আশা করি আমরা আরও শীঘ্রই পেয়ে
যাব

1
কোন উন্নতি? আমি তাদের গিথুব রেপো থেকে বেশ সক্রিয় বিকাশের বিজ্ঞপ্তি পেয়েছি তাই আমি ভাবতে পারি যে সমস্যাগুলি বের হয়ে আসছে ...
অ্যাডাম

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

11

আমি JuliaCallসম্প্রতি একটি আর প্যাকেজ তৈরি করেছি , যা জুলিয়াকে আর-তে এম্বেড করে The প্যাকেজটি CRAN এ রয়েছে।

https://cran.r-project.org/web/packages/JuliaCall/index.html

https://github.com/Non-Contradiction/JuliaCall

প্যাকেজের ব্যবহার এইরকম:

library(JuliaCall)
julia <- julia_setup()
julia_command("a = sqrt(2)"); julia_eval("a")
julia_eval("sqrt(2)")
julia_call("sqrt", 2)
julia_eval("sqrt")(2)

আপনি দেখতে পাচ্ছেন, আপনি কমান্ড স্ট্রিংগুলি প্রেরণ করতে এবং জুলিয়া ফাংশনগুলিকে সত্যিই সহজে কল করতে পারেন।

এবং জুলিয়া প্যাকেজগুলি ব্যবহার করে মোড়ানো কিছু আর প্যাকেজ রয়েছে JuliaCall, উদাহরণস্বরূপ,

  • convexjlr কনভেক্স.জেএল ব্যবহার করে আর-এ ডিসিপ্লিন্টেড উত্তল প্রোগ্রামিংয়ের জন্য, যা সিআরএএন-তেও রয়েছে।
  • ipoptjlrজুলিয়া প্যাকেজ ব্যবহার করে ইন্টেরিয়র পয়েন্ট অপ্টিমাইজার (আইপিওপিটি) জন্য একটি আর ইন্টারফেস Ipopt.jl

কোন প্রতিক্রিয়া জন্য আপনাকে স্বাগতম JuliaCall!!


7

রয়েছে XRJulia প্যাকেজ থেকে xr ই নিশানা প্যাকেজ পরিবার এক্স ঝোঁক আর জন চেম্বারস (আর এর নির্মাতাদের এক) দ্বারা। জুলিয়া এবং আর এর পরে আর জুলিয়া এবং অনুরূপ প্যাকেজগুলির মধ্যে ডেটা স্থানান্তর করতে এটি কিছুটা ভিন্ন পদ্ধতির (জেএসএন) ব্যবহার করে।


5

আপনি আমার চেষ্টাটিও দেখতে চাইতে পারেন: JuliaConnectoRআর-প্যাকেজ। প্যাকেজটি গিটহাব এবং সিআরএন থেকে পাওয়া যায় ।

এটি লক্ষ্যটি হ'ল জুলিয়া থেকে সরাসরি আরে ফাংশন আমদানি করা যাতে সেগুলি আর কোডে আর ফাংশনের মতো ব্যবহার করা যায়। জুলিয়া ফাংশনগুলির রিটার্ন মানগুলি আর ডেটা স্ট্রাকচারে অনুবাদ করা হয়, যা আরে ব্যবহার করা যেতে পারে এবং জুলিয়ায়ও ফিরে যেতে পারে। জুলিয়া এবং আর-এর আরও সংহতকরণের জন্য, কলিয়াব্যাক ফাংশন হিসাবে আর ফাংশনগুলি পেরিয়ে জুলিয়া থেকে আর-তে ফিরে কল করাও সম্ভব।

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

প্যাকেজটি জুলিয়া ≥ 1.0 এবং বিস্তৃত আর সংস্করণের সাথে কাজ করে।

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