من این کد را نوشته ام اما جوابش درست نیست changed_location <- inner_join(df1, df2, by = 'کد پرسنلی') changed_location <- filter(changed_location, changed_location['محل استقرار.x'] != changed_location['محل استقرار.y']) changed_location <- select(changed_location, 'کد پرسنلی', old_location = 'محل استقرار(گزارش).x', new_location = 'محل استقرار(گزارش).y')
به نظر میرسد که شما در حال تلاش برای پیدا کردن تغییرات محل استقرار پرسنل بین دو دیتافریم df1
و df2
هستید. کد شما تقریباً درست است، اما چند نکته وجود دارد که باید به آنها توجه کنید:
filter
، باید از !=
به جای ==
استفاده کنید.select
، باید از dplyr::select
استفاده کنید تا مطمئن شوید که ستونها به درستی انتخاب میشوند.در اینجا نسخه اصلاح شده کد شما آورده شده است:
library(dplyr)
changed_location <- inner_join(df1, df2, by = 'کد پرسنلی')
changed_location <- filter(changed_location, `محل استقرار.x` != `محل استقرار.y`)
changed_location <- select(changed_location, 'کد پرسنلی', old_location = `محل استقرار.x`, new_location = `محل استقرار.y`)
print(changed_location)
توضیحات:
dplyr
برای انجام عملیات join و filter استفاده میکنیم.filter
، از !=
برای مقایسه استفاده میکنیم.select
، از نامهای ستونها به صورت مستقیم استفاده میکنیم و نامهای جدید را به آنها اختصاص میدهیم.این کد باید به شما کمک کند تا تغییرات محل استقرار پرسنل را به درستی پیدا کنید.