Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
file.choose()模拟R中的对象_R - Fatal编程技术网

file.choose()模拟R中的对象

file.choose()模拟R中的对象,r,R,在R中类似于file.choose()函数,用于处理R中的对象 (矢量元素、环境中的对象等)? 我只需要像file.choose()函数一样的对话框窗口,在这里我可以选择向量的元素 比如说 我有3列的数据框 length(unique(df$column2)) [1] 3 然后我写 df<- filter(df, column2 %in% MyMagicFunction() ) df我猜您是在纯R控制台中工作的(即不是RStudio) 您可以使用文件。在填充了一些假文件后,选择用于此目

在R中类似于file.choose()函数,用于处理R中的对象 (矢量元素、环境中的对象等)? 我只需要像file.choose()函数一样的对话框窗口,在这里我可以选择向量的元素

比如说 我有3列的数据框

length(unique(df$column2))
[1] 3
然后我写

df<- filter(df, column2 %in% MyMagicFunction() )

df我猜您是在纯R控制台中工作的(即不是RStudio)
您可以使用
文件。在填充了一些假文件后,选择
用于此目的,请参阅:

myfunction <- function(df){
  split_path <- function(path) {
    rev(setdiff(strsplit(path,"/|\\\\")[[1]], ""))
  } 


  tmpdir <- file.path("c:/temp",substitute(df))
  dir.create(tmpdir,showWarnings =FALSE)
  for (ivar in names(df)){
    cat("", file=file.path(tmpdir,ivar))
  }
  selvar <- choose.files(default = paste(tmpdir,"*",sep="/"), caption = "Variable",
                         multi = FALSE)
  varname <- split_path(selvar)[1]
  unlink(file.path(tmpdir,"*"))

  print(varname) # to be replaced by your function exploiting df and varname such as mean(df[,varname])

}

myfunction如果此函数仅供交互使用,您可以尝试按%in%后面的tab按钮以获取可供选择的列列表,前提是您使用rstudio
>     doit <- myfunction(iris)
[1] "Sepal.Length"