在R控制台中编辑或查看数据框

时间:2015-12-14 10:45:48

标签: r

我可以在控制台中看到整个数据框。是否有任何可能的方法或任何功能来查看R-Console中的数据框(编辑类似于Excel的数据框),以便我能够手动编辑数据?

6 个答案:

答案 0 :(得分:4)

类' data.frame'

的S3方法

您可以使用:

edit(name, factor.mode = c("character", "numeric"),
 edit.row.names = any(row.names(name) != 1:nrow(name)), ...)

示例:

edit(your_dataframe)

您可以在此链接的帮助下详细了解 - Here

答案 1 :(得分:3)

您可以使用View()

查看数据框
View(df)

正如@David Arenburg所说,你也可以在一个可编辑的视图中打开你的数据帧,但要注意这很慢:

编辑(DF)

有关影响数据框使用的更新/更改:

 df <- edit(df)

答案 2 :(得分:3)

您真的可以使用edit()view()

但也许,如果您的数据集不够大,如果您更喜欢使用Excel,则可以使用以下函数:

library(xlsx)

view.excel<-function(inputDF,nrows=5000){
  if (class(inputDF)!="data.frame"){
    stop("ERROR: <inputDF> class is not \"data.frame\"")
  }
  if(nrow(inputDF)>5000 & nrows!=-1){
    inputDF=inputDF[1:nrows,]
  }
  tempPath=tempfile(fileext='.xlsx')
  write.xlsx(inputDF,tempPath)
  system(paste0('open ',tempPath))
  return(invisible(tempPath))
}

我已经定义了这个功能来帮助我完成R ...中的一些任务。

基本上,您只需要将DataFrame作为参数传递给函数。默认情况下,该函数最多显示5000行(您可以设置参数nrows = -1以查看所有行,但可能很慢)。

此功能在Excel中打开您的DataFrame,并返回保存临时视图的路径。如果您想保存并加载临时视图,在使用Excel直接更改内容后,您可以再次加载数据框:

# Open a view in excel
tempPath <- view.excel(initialDF, nrows=-1)
# Load the file of the Excel View in the new DataFrame modifiedDF
modifiedDF <- read.xlsx(tempPath)

此功能在Linux,Windows或Mac中可能效果很好。

答案 3 :(得分:0)

由于当今有很多人在使用RStudio和Shiny(并在其中进行开发),所以R用户的使用变得更加便捷。

您应该查看rhandsontable package

我偶然发现的一个博客:https://stla.github.io/stlapblog/posts/shiny_editTable.html也有一个很好的rhandsontable的Shiny实现。它没有使用控制台,但无论如何它都是非常漂亮的:

enter image description here

enter image description here

答案 4 :(得分:0)

(几年后)如果使用RStudio,可能值得尝试:它似乎支持所有数据类型。我没有广泛使用它,但是在帮助上我有所帮助:

https://cran.r-project.org/web/packages/editData/README.html

默认情况下会显示一个编辑对话框。如果数据框很大,则可以在显示对话框时浏览到http://127.0.0.1:7212,以获取可调整大小的编辑视图。

答案 5 :(得分:0)

您可以使用 fix() 函数查看和编辑数据框:

#  Open the mtcars dataframe for editing:
fix(mtcars)
#  Edit and close.   

#  This produces the same result:
mtcars <- edit(mtcars)
#  But it is a longer command to write.