1-)如果我有一个代表月份的列(M1,M2,M3,M4 ...... M12 ...... M1,M2,...),如何使用一个替换每个的函数(01, 02,03,04 ......)? 我试图使用mutate并一起替换,但没有成功。它只适用于ifelse函数,但它非常大。
我的第二个问题:
如果我的列中包含大量字符名称,如何在此列中过滤10个以上的名称?
我试过过滤器(列== c(“xx”,“xy”...)),但过滤结果不正确,我收到此消息:较长的对象长度不是较短对象长度的倍数< / p>
答案 0 :(得分:1)
您可以使用DirectoryIndex index.php
内的recode()
更改月份,如下所示:
mutate()
请注意,我将它们输入为字符串,因为这是您获得前导零的方式。
你的第二个问题尚不清楚,但似乎你想要做的是列出10个名字(总共10 + n个名字),只有那些?如果是这种情况,您可以将dat %>%
mutate(month_column = recode(month,
"M1" = "01",
"M2" = "02",
...
"M12" = "12"))
与filter()
运算符一起使用。
%in%
您还可以在管道外提取矢量:
dat %>%
filter(name_column %in% c("xx", "xy", ... ))
如果你把它全部组合起来应该是这样的:
vector_of_names <- c("xx", "xy", ... )
dat %>% filter(name_column %in% vector_of_names)