الوصول إلى وظائف مع نقطة في اسمها (على سبيل المثال "as.vector") باستخدام rpy2

StackOverflow https://stackoverflow.com/questions/6032060

  •  14-11-2019
  •  | 
  •  

سؤال

أحاول الوصول إلى وظيفة "As.Vector" من داخل Python، باستخدام Ry2.دعنا نقول، من أجل البساطة، أريد أن أفعل شيئا بسيطا مثل هذا باستخدام RPY2 (رمز R): giveacodicetagpre.

منذ "AS.Vector" يحتوي على نقطة في اسمه، لا يتوفر مباشرة كعضو في Ry2.Robjects.r

وفقا للوثائق، يحل RPY2 محل النقاط عن طريق الشرطة السفلية لمعلمات الوظائف المسماة، ولكن لا يبدو أنه يعمل من أجل اسم الوظيفة نفسه.حاولت على سبيل المثال."as_vector"، "asvector" دون جدوى.

أي أفكار؟

هل كانت مفيدة؟

المحلول

Get a reference to the function using the rpy2.robjects.r interface.

So, you could do something like:

as_vector = robjects.r("as.vector")
vect = as_vector(r_vect)

نصائح أخرى

According to the documentation, rpy2 does not replace dots by underscores when using 'rpy2.robjects.r'.

You may want to consider the use of 'importr()'

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top