3

我最近下载并安装了最新版本的 R/Rstudio,并注意到其中一项新变化是在导入 csv 时,Rstudio 现在默认将文件作为 tibble 导入。虽然我意识到开发人员有充分的理由进行此更改,但我个人觉得这非常烦人。

我使用的许多数据文件有很多 (>10) 列,并且我经常使用许多函数来查看数据(即 head()、tail(),甚至从数据中提取特定行,例如data[1:5,]) 不能按我的意愿运行。特别是,在 tibble 上使用这些函数会导致最右边的列不显示,这是非常有问题的,因为我通常对这些列最感兴趣。尽管我使用这些新版本的时间不长,但我已经厌倦了每次要查看数据时都必须使用 View() 函数,或者必须使用 as.data.frame( ) 为了让我的数据以我想要的方式显示。虽然我意识到这似乎是一个相当小的问题,

只是为了保持我自己的理智,有没有办法覆盖这个默认设置并使它导入的所有 csv 都作为数据帧而不是小标题导入?

4

2 回答 2

1

可能不是您要查找的内容,但您可以更改 tibbles 的打印方法,以便将它们打印为 data.frames。

library(tibble)
tibble_iris = as.tibble(iris)
head(tibble_iris)
# # A tibble: 6 x 5
#         Sepal.Length Sepal.Width Petal.Length Petal.Width Species
#           <dbl>       <dbl>        <dbl>       <dbl>  <fctr>
# 1          5.1         3.5          1.4         0.2  setosa
# 2          4.9         3.0          1.4         0.2  setosa
# 3          4.7         3.2          1.3         0.2  setosa
# 4          4.6         3.1          1.5         0.2  setosa
# 5          5.0         3.6          1.4         0.2  setosa
# 6          5.4         3.9          1.7         0.4  setosa

# here we change print method
# it is needed only once at the begining of your script 
print.tbl_df = print.data.frame

# check that new 'print' method will be used
head(tibble_iris)
#   Sepal.Length Sepal.Width Petal.Length Petal.Width Species
# 1          5.1         3.5          1.4         0.2  setosa
# 2          4.9         3.0          1.4         0.2  setosa
# 3          4.7         3.2          1.3         0.2  setosa
# 4          4.6         3.1          1.5         0.2  setosa
# 5          5.0         3.6          1.4         0.2  setosa
# 6          5.4         3.9          1.7         0.4  setosa
于 2017-05-05T16:41:18.717 回答
0

@yeedle 关于如何在导入窗口中更改为正确read_csvread.csv,但@Marius 提供了最佳答案。您必须克服对编码的挫败感,因为从长远来看它会节省您的时间(即不必担心 GUI 中的新导入数据默认值)。

read.csv即使 GUI 发生了变化,仍然可以正常工作......您应该输入:

read.csv("TAB

使用箭头键选择要加载的文件并按 Enter,然后键入,将显示,TAB所有选项。read.csv

于 2017-05-05T01:27:49.160 回答