我试图根据传入它的变量来对数据框进行子集化。我的目标是使用我传递给它的一些值在函数内部形成一个列名,并过滤掉新形式的列名。
这是一个可重复的例子:
var request: VNRequest
func setup() {
let model = try VNCoreMLModel(for: MyCoreMLGeneratedModelClass().model)
request = VNCoreMLRequest(model: model, completionHandler: myResultsMethod)
}
func classifyARFrame() {
let handler = VNImageRequestHandler(cvPixelBuffer: session.currentFrame.capturedImage,
orientation: .up) // fix based on your UI orientation
handler.perform([request])
}
func myResultsMethod(request: VNRequest, error: Error?) {
guard let results = request.results as? [VNClassificationObservation]
else { fatalError("huh") }
for classification in results {
print(classification.identifier, // the scene label
classification.confidence)
}
}
此外,除了上面的var_as_col_name <- function(df, col_var, filter_var) {
subset(df, col_var == filter_var)
}
# this should return what subset(df, cty == 18) would return
var_as_col_name(mpg,"cty", 18)
# this should return what subset(df, cyl == 4) would return
var_as_col_name(mpg,"cyl", 4)
和mpg$cty
上的过滤器之外,我可能还有另一个硬编码的过滤器,我不想改变它,即我的要求应该保留更多比一个过滤器。没有使用子集是否有更好的方法(因为它是用于交互式使用)?
我这样做,因为我有我的数据集像一些列mpg$cyl
,t_1
,t_2
... t_3
,我需要对它们中的过滤器还有另一个t_24
列,所以我正在做:
flag
在t_1过滤后需要数据时
df_1 <- subset(my_df,flag == 0 & t_1 > 0 & t_1 < 1)
当我想要在t_2上过滤后的数据时
...
而不是这个我想写一个函数:
df_2 <- subset(my_df,flag == 1 & t_2 > 0 & t_2 < 1)
从1到24,过滤了n
t_n
取得1或0。然后返回我想要的子集化数据框。
如果您需要澄清问题,请告诉我,并感谢您的帮助......