当在pdf R中存储图时,/tmp/RtmpFKQqjI/pdf317d27df81a0为每个图生成临时文件(例如).在将多个绘图绘制到pdf中后,我的/ tmp分区内存不足并且R停止工作(我的桌面也冻结).
小代码示例:
for (i in 1:10) {
pdf(file=paste(i, ".pdf", sep=""))
plot(1:10)
dev.off()
}
list.files(path=tempdir(), pattern="^pdf.", full.names=TRUE)
# [1] "/tmp/RtmpFKQqjI/pdf317d27df81a0" "/tmp/RtmpFKQqjI/pdf317d28ed0612"
# [3] "/tmp/RtmpFKQqjI/pdf317d295c2453" "/tmp/RtmpFKQqjI/pdf317d304bb025"
# [5] "/tmp/RtmpFKQqjI/pdf317d3332d7fe" "/tmp/RtmpFKQqjI/pdf317d3921428f"
# [7] "/tmp/RtmpFKQqjI/pdf317d4cf812ca" "/tmp/RtmpFKQqjI/pdf317d5082bebe"
# [9] "/tmp/RtmpFKQqjI/pdf317d560d326" "/tmp/RtmpFKQqjI/pdf317d674b25ea"
Run Code Online (Sandbox Code Playgroud)
(相同的结果pdf(file="Rplots%03d.pdf"); for (i in 1:10) { ... }; dev.off().)
为什么R在调用后不删除这个临时文件dev.off()?
作为一种解决方法,我在每个之后添加以下行dev.off():
unlink(list.files(path=tempdir(), pattern="^pdf.", full.names=TRUE))
Run Code Online (Sandbox Code Playgroud)
有没有更好的办法?
我有长期每小时的降雨量和温度数据。我想从每小时数据中获取每日值。我考虑的日是指从 07:00:00 到第二天 07:00:00。
您能告诉我如何将特定时间间隔之间的每小时数据转换为每日数据吗?
示例:07:00:00 to 07:00:00或12:00:00 to 12:00:00)
降雨量数据如下:
1970-01-05 00:00:00 1.0
1970-01-05 01:00:00 1.0
1970-01-05 02:00:00 1.0
1970-01-05 03:00:00 1.0
1970-01-05 04:00:00 1.0
1970-01-05 05:00:00 3.6
1970-01-05 06:00:00 3.6
1970-01-05 07:00:00 2.2
1970-01-05 08:00:00 2.2
1970-01-05 09:00:00 2.2
1970-01-05 10:00:00 2.2
1970-01-05 11:00:00 2.2
1970-01-05 12:00:00 2.2
1970-01-05 13:00:00 2.2
1970-01-05 14:00:00 2.2
1970-01-05 15:00:00 2.2
1970-01-05 16:00:00 0.0
1970-01-05 17:00:00 0.0
1970-01-05 18:00:00 0.0
1970-01-05 19:00:00 0.0
1970-01-05 20:00:00 0.0
1970-01-05 21:00:00 …Run Code Online (Sandbox Code Playgroud) 我必须从shell脚本运行knitr.但我弄乱了一些东西.
我的shell脚本test.sh是:
#!/bin/bash
input=$1
echo Input $input
# I want to start the following when input is test.Rnw
# /usr/bin/Rscript -e 'library(knitr); knit("test.Rnw")'
cmd_start="'library(knitr);knit(\""
cmd_end="\")'"
echo /usr/bin/Rscript -e $cmd_start$input$cmd_end
/usr/bin/Rscript -e $cmd_start$input$cmd_end
Run Code Online (Sandbox Code Playgroud)
跑步时
./test.sh test.Rnw
输出是
Input test.Rnw
/usr/bin/Rscript -e 'library(knitr);knit("test.Rnw")'
[1] "library(knitr);knit(\"test.Rnw\")"
Run Code Online (Sandbox Code Playgroud)
所以命令似乎没问题.但是R没有运行knitr.相反,它将输入作为变量处理.
运行
/usr/bin/Rscript -e 'library(knitr);knit("test.Rnw")'
Run Code Online (Sandbox Code Playgroud)
做对了.
我错过了什么?
我有以下矩阵"z":
0 1 2 3 4 5 8 9 11 12 15 16 17
[1,] 0.9992149 0.0001345895 4.486317e-05 2.243158e-05 6.729475e-05 8.972633e-05 2.243158e-05 4.486317e-05 4.486317e-05 2.243158e-05 2.243158e-05 6.729475e-05 2.243158e-05
[2,] 0.7116196 0.1991475998 6.440108e-02 1.475998e-02 3.275011e-03 8.075370e-04 0.000000e+00 7.851054e-04 1.345895e-04 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00
[3,] 0.7473531 0.1313817856 2.954240e-02 1.390758e-02 1.195603e-02 1.518618e-02 2.557201e-03 1.615074e-03 1.166442e-03 4.419022e-03 5.383580e-04 4.486317e-04 4.934948e-04
[4,] 0.2177434 0.4941677882 1.351503e-01 3.319874e-02 2.438313e-02 4.311350e-02 6.146254e-03 9.376402e-03 5.607896e-04 4.934948e-04 1.121579e-04 2.018843e-04 4.486317e-05
18 20 22 24 31 6 10 35 36 37 …Run Code Online (Sandbox Code Playgroud) 这是我在R中做的直方图,请看这里:

这是我用来获取它的代码:
par(mfrow = c(3, 1))
hist(outcome[, 11], main = "Heart Attack", xlim = c(10,20), xlab = "30-day Death Rate")
hist(outcome[, 17], main = "Heart failure", xlim = c(10, 20), xlab = "30-day Death Rate")
hist(outcome[, 23], main = "Pneumonia", xlim = c(10,20), xlab = "30-day Death Rate")
Run Code Online (Sandbox Code Playgroud)
那么,如何修改我的代码以获得以下图表,请看这里:

我需要显示直方图上的全部数据,同时x轴有限,从10到20,中间只有15
我在使用R加权igraph中添加顶点标签时遇到了一些问题.
图的数据框是:
df <- read.table(text=
"From, To, Weight
A,B,1
B,C,2
B,F,3
C,D,5
B,F,4
C,D,6
D,E,7
E,B,8
E,B,9
E,C,10
E,F,11", sep=',',header=TRUE)
# From To Weight
# 1 A B 1
# 2 B C 2
# 3 B F 3
# 4 C D 5
# 5 B F 4
# 6 C D 6
# 7 D E 7
# 8 E B 8
# 9 E B 9
# 10 E C 10
# 11 E F 11
Run Code Online (Sandbox Code Playgroud)
我使用: …
我在R变量中有一组字符串,当我检查类时,它说这是一个因素.例如.
mySet<-c("abc","abc","def","abc","def","efg","abc")
Run Code Online (Sandbox Code Playgroud)
我想获得在该集合中出现最大次数的字符串(在这种情况下为"abc").
我理解一种方法是使用hist()但我面临数据类型问题,因为我是RI的新手并不能自己解决这个问题.
我正在为一些数据制作热图,并希望在每组样本之间添加一条直线.看起来abline效果不好heatmap.
知道我可以用于此目的的功能吗?
我正在使用R搜索原始的Twitter片段,但仍然遇到有非标准字母数字字符的问题,如下所示"̆ºÌøÑ".
我想取出所有非[abcdefghijklmnopqrstuvwxyz0123456789]字符使用gsub.
您可以使用gsub指定取代这些项目不中[abcdefghijklmnopqrstuvwxyz0123456789]?
我试图在类别中获得序列.
我的数据是:
A B
1 1
1 2
1 2
1 3
1 3
1 3
1 4
1 4
Run Code Online (Sandbox Code Playgroud)
我想得到变量"c",比如我的数据看起来像:
A B C
1 1 1
1 2 1
1 2 2
1 3 1
1 3 2
1 3 3
1 4 1
1 4 2
Run Code Online (Sandbox Code Playgroud)