我正在尝试创建一个函数,基本上构建一个 Dataframe 并返回它。这个新的 Dataframe 是由我拥有的另一个 Dataframe metadata
..中的列组成的,除了一些我想要控制的额外数据,通过在调用函数时传递TRUE或FALSE值。
下面是我所做的:
make_data = function(metric, use_additions = FALSE){
data = data.frame(my_metric = metadata[['metric']], gender = metadata$Gender ,
age = as.numeric(metadata$Age) , use_additions = t(additional_data))
data = data %>% dplyr::select(my_metric, everything())
return(data)
}
data = make_data(CR, FALSE)
我每次都要传递不同的metric
值,而其他所有的特性都保持不变。比如这里我调用了一个函数,它的度量是CR
,这是我想在元数据中使用的列的名称。我想控制的参数是use_additions
,有时候我想添加它,有时候我不想。metadata
和additional_data
具有完全相同的行名称和相同的行号。只是是否添加数据。
我收到此错误:
Error in data.frame(metric = metadata[["metric"]], gender = metadata$Gender, :
arguments imply differing number of rows: 0, 1523
In addition: Warning message:
In data.frame(metric = metadata[["metric"]], gender = metadata$Gender, :
Error in data.frame(my_metric = metadata[["metric"]], gender = metadata$Gender, :
arguments imply differing number of rows: 0, 1523
我尝试过几种方法来实现这个功能,有''
和没有$
,但是没有一种有效。例如,当我输入metric = metadata[[metric]]
时,得到的结果是:
Error in (function(x, i, exact) if (is.matrix(i)) as.matrix(x)[[i]] else .subset2(x, :
object 'CR' not found
1条答案
按热度按时间h79rfbju1#