我们怎样才能在R中复制Tufte隐含的水平线?

例如,以下是一个很好的起点:
library(ggplot2)
ggplot(msleep, aes(x=order)) + stat_bin() + theme_bw()
Run Code Online (Sandbox Code Playgroud)
删除边框线应该很简单.关键点,水平线与条形重叠,我不清楚.
我想象两种方法:
我无法找到如何列出和打印工作区中的所有对象.我希望看到所有这些,并了解正在发生的事情.例如,ls()为您提供30个对象.除了单独输入外,还可以显示所有内容.看起来如此微不足道,解决方案可能会非常尴尬.我最接近的是ls.str()循环对象的想法.
编辑:这不适用于数据框.我有一个充满功能的工作区,没有数据,并且想要了解哪些参考哪些等等.
我找到zip了RCompression包裹,但他们能做到:
write.zip(x, file = "foo.zip")
Run Code Online (Sandbox Code Playgroud)
和你一样write.csv?
我也知道gzfile.
这应该很快 - 我们在R中解析以下格式:
2013-04-05T07:49:54-07:00
我目前的做法是
require(stringr)
timenoT <- str_replace_all("2013-04-05T07:49:54-07:00", "T", " ")
timep <- strptime(timenoT, "%Y-%m-%d %H:%M:%S%z", tz="UTC")
Run Code Online (Sandbox Code Playgroud)
但它给了NA.
我有一个csv文件,其中列名包括空格和特殊字符.
fread用引号导入它们 - 但是如何更改此行为?一个原因是我的列名以空格开头,我不知道如何处理它们.
任何指针都会有所帮助.
编辑:一个例子.
> packageVersion("data.table")
[1] ‘1.8.8’
p2p <- fread("p2p.csv", header = TRUE, stringsAsFactors=FALSE)
> head(p2p[,list(Principal remaining)])
Error: unexpected symbol in "head(p2p[,list(Principal remaining"
> head(p2p[,list("Principal remaining")])
V1
1: Principal remaining
> head(p2p[,list(c("Principal remaining"))])
V1
1: Principal remaining
Run Code Online (Sandbox Code Playgroud)
当然,我期待/想要的是没有空格的列名产生的结果:
> head(p2p[,list(Principal)])
Principal
1: 1000
2: 1000
3: 1000
4: 2000
5: 1000
6: 4130
Run Code Online (Sandbox Code Playgroud) 探索新数据集:可视化许多(所有)变量的最简单,最快捷的方法是什么?
理想情况下,输出显示彼此相邻的直方图,具有最小的杂波和最大信息.这个问题的关键是处理大型和不同数据集的灵活性和稳定性.我正在使用RStudio,通常处理大而混乱的调查数据.
一个开箱即用Hmisc并且在这里工作得很好的例子是:
library(ggplot2)
str(mpg)
library(Hmisc)
hist.data.frame(mpg)
Run Code Online (Sandbox Code Playgroud)
不幸的是,在其他地方我遇到了数据标签的问题(plot.new()中的错误:数字边距太大).它也崩溃了一个更大的数据集mpg,我还没有弄清楚如何控制binning.而且,我更喜欢灵活的解决方案ggplot2.请注意,我刚开始学习R并习惯了商业软件提供的舒适解决方案.
关于这个主题的更多问题:
...?
我有几小时和几天的免费停车位数据.
这是100的随机样本.
sl <- list(EmptySlots = c(7, 6, 20, 5, 16, 20, 24, 5, 24, 24, 15, 11,
8, 6, 13, 2, 21, 6, 1, 6, 9, 1, 8, 0, 20, 9, 20, 11, 22, 24,
1, 2, 12, 6, 8, 2, 23, 18, 8, 3, 20, 2, 1, 0, 5, 21, 1, 4, 20,
15, 24, 12, 4, 14, 2, 4, 20, 16, 2, 10, 2, 1, 24, 9, 22, 7, 6,
3, 20, 13, 1, 16, 12, 5, …Run Code Online (Sandbox Code Playgroud) 
正如我的同事指出的那样,连接点是他们在小学教学的东西.
这是数据:
hour_timetable mean_delayed_pass
0 6.074
1 6.512
2 7.632
3 9.393
4 8.759
5 4.600
6 6.040
7 5.575
8 5.680
9 6.315
10 6.895
11 7.852
12 6.832
13 6.961
14 6.322
15 5.954
16 5.579
17 5.540
18 5.142
19 5.579
20 6.139
21 6.501
22 6.140
23 6.061
Run Code Online (Sandbox Code Playgroud)
这是代码:
library(ggplot2)
ggplot(data = test_vis, aes(x = factor(hour_timetable), y = mean_delayed_pass, group = 1)) +
ylim(0, NA) +
geom_point(color = 'purple', stat = 'identity') +
geom_line(color = 'purple') …Run Code Online (Sandbox Code Playgroud) 我的.Rdata文件的大小是92 MB.
但是,原始的csv文件大约是3 GB.我把它和通常一样包括在内read.csv()
怎么可能?
用五个观察值和两个因子变量来查看这个测试数据集.
test
respid s2q1 s2q2
1 32 9 5 - V. satisfied
2 35 10 - Definitely 5 - V. satisfied
3 148 10 - Definitely 5 - V. satisfied
4 371 3 2
5 416 10 - Definitely 5 - V. satisfied
Run Code Online (Sandbox Code Playgroud)
当我运行以下melt命令时,我收到一个对我没有意义的错误.特别是因为我在成功之前使用了相同的命令.
require(reshape2)
qhist <- melt(test, id="respid")
Error in data.frame(ids, variable, value, stringsAsFactors = FALSE) :
arguments imply differing number of rows: 5, 10
Run Code Online (Sandbox Code Playgroud)
导入数据
spss.get("data.sav", lowernames=T, use.value.labels=T,max.value.labels=13)
dput(test)
structure(list(respid = structure(c(32L, 35L, 148L, 371L, 416L), …Run Code Online (Sandbox Code Playgroud)