我想创建一个函数,允许用户使用输入值按列对 Dataframe 进行切片。
slice_df <- function(df, col, values){
df_small = subset(df, col %in% values)
return(df_small)
问题是返回的df_small
为空,因为提供的列col
是文本值,而subset
中的参数需要类似的值,但没有引号''
。例如,slice_df(mydata, 'month', c('Jan', 'Dec'))
将无法工作,因为subset
函数需要month
而不是'month'
。是否有解决方法?或者,有没有比那个幼稚的slice_df
更好的函数?谢谢。
1条答案
按热度按时间5q4ezhmt1#
代码中的问题是subset函数中缺少括号。下面是更新后的函数:
为了检查函数是否正确,我使用了mtcar和sliced vs作为0值:
输出: