পরিবর্তনটি শর্তযুক্ত হলে (কিছু কলাম মানগুলির মানের উপর নির্ভরশীল) কী মিউটেট ব্যবহার করা যেতে পারে?
এই উদাহরণটি আমার অর্থ বোঝাতে সহায়তা করে।
structure(list(a = c(1, 3, 4, 6, 3, 2, 5, 1), b = c(1, 3, 4,
2, 6, 7, 2, 6), c = c(6, 3, 6, 5, 3, 6, 5, 3), d = c(6, 2, 4,
5, 3, 7, 2, 6), e = c(1, 2, 4, 5, 6, 7, 6, 3), f = c(2, 3, 4,
2, 2, 7, 5, 2)), .Names = c("a", "b", "c", "d", "e", "f"), row.names = c(NA,
8L), class = "data.frame")
a b c d e f
1 1 1 6 6 1 2
2 3 3 3 2 2 3
3 4 4 6 4 4 4
4 6 2 5 5 5 2
5 3 6 3 3 6 2
6 2 7 6 7 7 7
7 5 2 5 2 6 5
8 1 6 3 6 3 2
আমি dplyr প্যাকেজটি ব্যবহার করে আমার সমস্যার সমাধানের জন্য প্রত্যাশা করছিলাম (এবং হ্যাঁ, আমি জানি এটি কার্যকর নয় এমন কোড নয়, তবে আমি অনুমান করি যে এটি উদ্দেশ্যটি পরিষ্কার করে দেয়) একটি নতুন কলাম তৈরি করার জন্য:
library(dplyr)
df <- mutate(df,
if (a == 2 | a == 5 | a == 7 | (a == 1 & b == 4)){g = 2},
if (a == 0 | a == 1 | a == 4 | a == 3 | c == 4) {g = 3})
আমি যে কোডটির সন্ধান করছি তার এই বিশেষ উদাহরণে এই ফলাফল হওয়া উচিত:
a b c d e f g
1 1 1 6 6 1 2 3
2 3 3 3 2 2 3 3
3 4 4 6 4 4 4 3
4 6 2 5 5 5 2 NA
5 3 6 3 3 6 2 NA
6 2 7 6 7 7 7 2
7 5 2 5 2 6 5 2
8 1 6 3 6 3 2 3
কীভাবে dplyr এ এটি করবেন সে সম্পর্কে কারও কি ধারণা আছে? এই ডেটা ফ্রেমটি একটি উদাহরণ, আমি যে ডেটা ফ্রেমগুলি নিয়ে কাজ করছি তা অনেক বড়। এর গতির কারণে আমি dplyr ব্যবহার করার চেষ্টা করেছি, তবে সম্ভবত এই সমস্যাটি পরিচালনা করার জন্য আরও ভাল, আরও ভাল উপায় আছে?
dplyr::case_when()
একটি তুলনায় অনেক পরিষ্কার হয়ifelse
,