سؤال

ولقد حصلت على الإطار البيانات مع 2 أعمدة الطابع. أود أن تجد الصفوف التي تحتوي على عمود واحد على الآخر، ولكن grepl يجري غريب. أي أفكار؟

> ( df <- data.frame(letter=c('a','b'),food = c('apple','pear','bun','beets')) )
  letter  food
1      a apple
2      b  pear
3      a   bun
4      b beets 

> grepl(df$letter,df$food)

[1]  TRUE  TRUE FALSE FALSE

ولكن أريد T F F T

وشكرا.

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

المحلول

وبفضل اقتراح كيفن لاستخدام تطبيق،

<اقتباس فقرة>   

و> mapply (grepl، مدافع $ إلكتروني، مدافع $ الغذاء)

والنتائج في الناتج المرغوب فيه.

نصائح أخرى

وعند تشغيل التعليمات البرمجية الخاصة بك، وأحصل على تحذير:

Warning message:
In grepl(df$letter, df$food) :
  argument 'pattern' has length > 1 and only the first element will be used

وهذا ما تؤكده ?grepl تحت pattern:

If a character vector of length 2 or more is supplied, 
the first element is used with a warning.

وهكذا grepl هو العثور على وفي كل من التفاح والكمثرى. هذا لا يحل المشكلة (تطبيق أو أحد مشتقاته؟)، لكنه لا يفسر الإخراج الذي تحصل.

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