سؤال
ولقد حصلت على الإطار البيانات مع 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 هو العثور على وفي كل من التفاح والكمثرى. هذا لا يحل المشكلة (تطبيق أو أحد مشتقاته؟)، لكنه لا يفسر الإخراج الذي تحصل.
لا تنتمي إلى StackOverflow