小编Naz*_*zer的帖子

在R,cex中更改绘图标签大小不起作用

我在R中制作一个非常简单的图,并希望更改y轴上的字体大小(年份).我用过所有的cex.命令,并可以改变除这些年以外的一切.

这是我的矩阵(inputm):

     2010  2011
CC 0.5550 0.480
P  3.6700 3.865
PF 1.4625 1.685
Run Code Online (Sandbox Code Playgroud)

我的代码:

barplot(inputm,beside=T, horiz=TRUE, xlim=c(-7,7), 
col=c("black","blue","red"), xlab="Mg C/ha", cex.axis=2)
Run Code Online (Sandbox Code Playgroud)

我可以让x轴标签改变,但不能改变y.我在这里错过了什么?

r

3
推荐指数
1
解决办法
1895
查看次数

更改R中图形上的刻度线数量

我创建了一个两个图(两年)气候数据(温度和降水)的图形,看起来与我想要的完全一样,除了我的一个轴有太多刻度线.对于我在这个图上所做的一切,我找不到一种方法来指定更少的刻度线,而不会弄乱其他部分.我还想指定刻度线的位置.这是图:气候

您可以看到顶轴的刻度线只是模糊在一起,所选的数字对我来说不是很有意义.我怎么能告诉R我真正想要的是什么?

以下是我使用的数据集: cobs10cobs11.

这是我的代码:

par(mfrow=c(2,1))
par(mar = c(5,4,4,4) + 0.3)
plot(cobs10$day, cobs10$temp, type="l", col="red", yaxt="n", xlab="", ylab="",     
ylim=c(-25, 30))

axis(side=3, col="black", at=cobs10$day, labels=cobs10$gdd) 
at = axTicks(3)
mtext("Thermal Units", side=3, las=0, line = 3)

axis(side=2, col='red', labels=FALSE)
at= axTicks(2)
mtext(side=2, text= at, at = at, col = "red", line = 1, las=0)
mtext("Temperature (C)", side=2, las=0, line=3)

par(new=TRUE)
plot(cobs10$gdd, cobs10$precip, type="h", col="blue", yaxt="n", xaxt="n", ylab="",     
xlab="")
axis(side=4, col='blue', labels=FALSE)
at = axTicks(4)
mtext(side = 4, text = …
Run Code Online (Sandbox Code Playgroud)

r

3
推荐指数
1
解决办法
1万
查看次数

在nlme中拟合数据的技巧?

当我将数据放入nlme中时,我第一次尝试都没有成功,而且nlme(fit.model)习惯了以下情况:

Error in nlme.formula(model = mass ~ SSbgf(day, w.max, t.e, t.m), random = list( :
  step halving factor reduced below minimum in PNLS step

Error in MEestimate(nlmeSt, grpShrunk) : 
  Singularity in backsolve at level 0, block 1
Run Code Online (Sandbox Code Playgroud)

所以我回去

1)更改x轴的单位(例如,从年到天,或者从天到成长度天)。

2)在我的数据集中进行ax = 0,y = 0的测量

3)添加一个 random=pdDiag()

4)缺乏随机性和固定性

5)整理我的数据集,并尝试在不同时间拟合不同的部分

6)实现非常简单的拟合,然后使用update来使模型正确

最终似乎有些工作。还有其他人要添加到此列表吗?什么可以帮助您使nlme处理数据?

我意识到这个问题可能会结束,但是如果对如何改写SO可以接受的任何建议,我将不胜感激。

这是一个示例,其中我尝试了其中一些操作,但到目前为止还没有成功:

数据:https : //www.dropbox.com/s/4inldx7617fip01/proots.csv。这只是整个集合的一部分。

代码:

roots<-read.table("proots.csv", header = TRUE)

#roots$day[roots$year == 2007] <- 0 #when I use a dataset with time=0, mass=0
roots$day[roots$year …
Run Code Online (Sandbox Code Playgroud)

r curve-fitting nlme

3
推荐指数
1
解决办法
3007
查看次数

使用na.rm = TRUE和mutate中的函数

我正在尝试计算累积金额并mutate用于创建新列.我正在为多列执行此操作,并且每个列都在不同位置丢失数据.

day    water    nitrogen
 1      4        5
 2      NA       6
 3      3        NA
 4      7        NA
 5      2        9
 6      NA       3
 7      2        NA
 8      NA       2
 9      7        NA
10      4        3
Run Code Online (Sandbox Code Playgroud)

我试试

mutate(df, sumwater = cumsum(water))%>%
mutate(sumnitrogen = cumsum(nitrogen)) 
Run Code Online (Sandbox Code Playgroud)

要么

mutate(df, sumwater = cumsum(water, na.rm = TRUE))%>%
mutate(sumnitrogen = cumsum(nitrogen, na.rm = TRUE))
Run Code Online (Sandbox Code Playgroud)

既不起作用.我知道我们能做到na.rm=TRUEsummarize功能.有没有办法让它工作mutate?我更喜欢一个dplyr答案,因为实际上这是一长串管道的一部分.

r dplyr

3
推荐指数
1
解决办法
2668
查看次数

在 dplyr 中插入样条

我正在尝试为以下示例数据插入样条:

trt    depth    root    carbon
A       2        1        14
A       4        2        18
A       6        3        18
A       8        3        17
A      10        1        12
B       2        3        16
B       4        4        18
B       6        4        17
B       8        2        15
B      10        1        12
Run Code Online (Sandbox Code Playgroud)

通过以下方式:

new_df<-df%>%
  group_by(trt)%>%
  summarise_each(funs(splinefun(., x=depth, method="natural")))
Run Code Online (Sandbox Code Playgroud)

我得到一个Error: not a vector,但我不明白为什么不。我没有以正确的方式表达功能吗?

r spline dplyr

3
推荐指数
1
解决办法
1538
查看次数

为rmarkdown PDF中的每行文本编号

我正在编写一份正在编写成pdf的文档,我需要对每一行进行编号,以便审阅者可以参考特定的句子.我已经找到了关于编号代码块的一些阅读,但是只是文本呢?

latex knitr r-markdown

3
推荐指数
1
解决办法
551
查看次数

将目录中的数据框绑定在purrr中

我有一个数据框列表,所有数据框都有相同数量的列(和行).我想用它们绑定它们purrr::map_df.

我试着map_df(my_list)

Error in as_mapper(.f, ...) : argument ".f" is missing, with no default

我不确定我的清单有什么问题.它看起来不错(每个数据帧都有一个唯一的名称):

在此输入图像描述

r purrr

3
推荐指数
1
解决办法
3282
查看次数

添加新的(较短的)列以进行tibble和扩展tibble以保持整洁

我有一个数据框,我需要添加一个列,以包含对应于现有数据帧的每一行的3种.希望下面的例子清楚地表明:

Site    Year    Trt
A       2016    bowl
A       2016    vane
A       2017    target
A       2017    stick
B       2016    bowl
B       2016    vane
B       2017    target
B       2017    stick

species<-c("species1", "species2", "species3")
Run Code Online (Sandbox Code Playgroud)

然后我想去

Site    Year    Trt     Species
A       2016    bowl    species1
A       2016    vane    species1
A       2017    target  species1
A       2017    stick   species1
A       2016    bowl    species2
A       2016    vane    species2
A       2017    target  species2
A       2017    stick   species2
A       2016    bowl    species3
A       2016    vane    species3
A       2017    target  species3 …
Run Code Online (Sandbox Code Playgroud)

r dplyr tidyr

3
推荐指数
1
解决办法
114
查看次数

使用"旧"ggplot2代码

我用ggplot 0.8.9做了很多数字(这就是我现在还在运行的).现在我需要修改这些数字以包含图例.我遇到了各种难以解决的问题,因为我对这些问题感到非常困惑theme,opts而且很多SO答案都适用于以后的版本.

在这一点上,似乎我需要更新ggplot2并重写我的所有代码,这样我才能传说我的数字. 这是真的? 我已经阅读了ggplot2过渡指南,它看似真实.

这是旧代码的样子(不产生图例):这里是为了重现性而提供的数据:mean10v2stderr10.

me10<-read.table("mean10v2.txt", header=TRUE)
se10<-read.table("stderr10.txt", header=TRUE)

ggplot() +
geom_ribbon(aes(x = me10[me10$trt=="CC", "tu"], ymin=(me10[me10$trt=="CC", "biomassA"]-    
  se10[se10$trt=="CC", "biomassA"]), ymax=(me10[me10$trt=="CC",  
  "biomassA"]+se10[se10$trt=="CC", "biomassA"])), alpha=0.25) +
geom_line(aes(me10[me10$trt=="CC", "tu"], y=me10[me10$trt=="CC", "biomassA"]), size=1)+  
geom_ribbon(aes(x = me10[me10$trt=="PF", "tu"], ymin=(me10[me10$trt=="PF", "biomassA"]- 
  se10[se10$trt=="PF", "biomassA"]), ymax=(me10[me10$trt=="PF", 
  "biomassA"]+se10[se10$trt=="PF", "biomassA"])), alpha=0.25) +
geom_line(aes(me10[me10$trt=="PF", "tu"], y=me10[me10$trt=="PF", "biomassA"]), 
  colour="red2", linetype="dashed", size=1) + 
geom_ribbon(aes(x = me10[me10$trt=="P", "tu"], ymin=(me10[me10$trt=="P", "biomassA"]-
  se10[se10$trt=="P", "biomassA"]), ymax=(me10[me10$trt=="P",   
  "biomassA"]+se10[se10$trt=="P", "biomassA"])), alpha=0.25) +
geom_line(aes(me10[me10$trt=="P", "tu"], y=me10[me10$trt=="P", "biomassA"]),    
  colour="blue3", linetype="dotted", size=1) + …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

2
推荐指数
1
解决办法
324
查看次数

使用R从推文中删除图像

我希望制作一个twitter-blogdown博客,其中有些人发布了图片,但我不确定它是否可能.我使用'twitteR'来抓取一个人的所有帖子,但看起来我必须做一些完全不同的事情来获取图像而不是文本.

任何关于采取何种方向的建议都将受到赞赏.

r blogdown

2
推荐指数
1
解决办法
474
查看次数

选择数据帧末尾的行,这些行经常累积行

我想删除数据帧的最后14行并将它们放入自己的数据帧中.问题是,每隔几天,我们会在末尾添加更多行,但我们总是想要最后14行.数据框按日期排序,例如:

      Date    SW_30cm_b ST_30cm_b NO3_30ppm
 2015-06-22    85.729    19.548    17.864
 2015-06-23    83.844    18.736    17.514
 2015-06-24    82.619    17.984    17.297
 2015-06-25    80.439    17.815    16.859
 2015-06-26    77.227    17.756    16.132
 2015-06-27    74.436    17.720    15.468 
Run Code Online (Sandbox Code Playgroud)

dplyr答案没有必要,但会很棒!

r dplyr

1
推荐指数
1
解决办法
134
查看次数

删除仅在某些行中具有NA的组

我需要删除一年中每天都没有测量的年份.假装这是一整套,我想摆脱所有2001年的行,因为2001年有一个缺失的测量.

year    day    value  
2000     1       5
2000     2       3  
2000     3       2
2000     4       3  
2001     1       2
2001     2       NA  
2001     3       6  
2001     4       5
Run Code Online (Sandbox Code Playgroud)

对不起,我没有代码尝试,我现在无法绕过它,我花了很长时间才能做到这一点.喜欢我可以%>%in的东西,因为它是在长期结束时.

r dplyr

1
推荐指数
1
解决办法
48
查看次数

使用R中的循环处理文件夹中的所有文件

我需要处理文件夹中的所有文件,文件按顺序命名,所以我认为这是循环的好时机.处理单个文件的代码很简单:

df<-read.table("CLIM0101.WTG", skip = 3, header = TRUE)

df<-df[,-1]
df$year<-2014
df$day<-c(1:365)

write.table(df, "clim201401.txt", rownames = "FALSE")
Run Code Online (Sandbox Code Playgroud)

要读取的99个文件是"CLIM0101.WTG"到"CLIM9901.WTG",它们应该通过"clim201499.txt"写入"clim201401.txt".这是包含文件的文件夹的链接:

https://www.dropbox.com/sh/y255e07wq5yj1nd/4dukOLxKgm

那么这里的问题是什么?我不明白如何写一个循环,并没有找到如何这样做的很好的描述.以前的循环问题有非循环的答案,但似乎这次它真的是我需要的.

r

0
推荐指数
1
解决办法
2619
查看次数

标签 统计

r ×12

dplyr ×5

blogdown ×1

curve-fitting ×1

ggplot2 ×1

knitr ×1

latex ×1

nlme ×1

purrr ×1

r-markdown ×1

spline ×1

tidyr ×1