小编Ros*_*ler的帖子

R View()不显示数据框的所有列

我一直在向数据框添加列,并使用View()来检查它是否符合我的预期.我有重复的代码行:

x$p <- 3 * x$a
x$q <- sqrt(x$b + x$c)
View(x)
Run Code Online (Sandbox Code Playgroud)

这个工作正常,直到列数超过100(有47,000行).当我添加另外两列时,dim(x)显示102列,名称(x)显示102个名称,summary(x)显示所有预期列的摘要.但是,View(x)仅显示前100列,并且不显示最后添加的两列.

如果我尝试查看(x [, - (1:10)]),则会显示最近添加的列.

我在View文档中没有看到任何关于列数限制的提及.任何人都可以解释这里发生了什么?

r rstudio

29
推荐指数
4
解决办法
6万
查看次数

一些情节不能在Rstudio,knitr,Rmarkdown中呈现

我正在使用:Ubuntu 12.04 64位,R 3.0.2,RStudio 0.98.312,knitr 1.5,markdown 0.6.3,mgcv1.​​7-27

我有一个带有多个代码块的Rmarkdown文档.在一个块的中间有一些代码,我适合GAM,总结拟合并绘制拟合.问题是第一个绘图渲染到输出文件,但第二个绘图没有.这是来自块的已清理代码片段:

fit <- gam(y ~ s(x), data=j0, subset= !is.na(x))
summary(fit) # look at non-missing only
plot(fit)

fit <- gam(y ~ s(sqrt(x)), data=j0, subset= !is.na(x))
summary(fit)
plot(fit)

mean(y[is.na(x)]) - mean(y[!is.na(x)])
Run Code Online (Sandbox Code Playgroud)

所有内容都按预期呈现,除了输出直接从回显第二个绘图语句到回显下面的均值计算.均值计算的结果正确呈现.

如果我注释掉另一个图块,稍后会在块中调用7行,则会正确呈现丢失的图.

有没有人对这里发生的事情有任何建议?

更新下面

总结 - 在调用Plot 2之后的几行中有一些R代码生成一个执行错误(未找到变量),之后有几行代表Plot 3.如果代码错误被修复,那么渲染Plot 2.如果代码错误不固定并且对Plot 3的调用被注释掉,则渲染Plot 2.问题取决于用于存储不同拟合结果的相同变量"拟合".如果我将每个拟合分配给不同的变量,则绘图2呈现正常.

我不明白在多行成功执行的代码之后进行的更改如何(显然是回顾性地)阻止了绘图2的渲染.

可重复的例子:

Some text.

```{r setup}
require(mgcv)

mkdata <- function(n=100) {
  x <- rnorm(n) + 5
  y <- x + 0.3 * rnorm(n)
  x[sample(ceiling(n/2), ceiling(n/10))] <- NA
  x <- x^2
  data.frame(x, y) …
Run Code Online (Sandbox Code Playgroud)

plot r rstudio knitr r-markdown

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

R,knitr,pander - 如何很好地格式化日期摘要()

summary()用来生成knitr文档中日期变量的简单摘要,并希望得到很好的格式化结果.

summary(some_date)
Run Code Online (Sandbox Code Playgroud)

产生我想要的结果(值显示为日期),但格式不是很好.所以,我尝试过:

pander::pander(summary(some_date))
Run Code Online (Sandbox Code Playgroud)

这会生成格式良好的结果,但值显示为整数而不是日期.(对于Date,POSIXct和POSIXlt日期,这是正确的).

有没有办法很好地格式化文档中summary()的日期结果knitr?也许除此之外还有一些包pander更适合这项任务.

以下示例:

summary(some_date)
##         Min.      1st Qu.       Median         Mean      3rd Qu. 
## "2014-05-01" "2015-02-15" "2015-06-17" "2015-05-05" "2015-09-08" 
##         Max. 
## "2015-11-21"

pander::pander(summary(some_date))
Min.    1st Qu. Median  Mean    3rd Qu. Max.
16191   16481   16603   16560   16686   16760

sessionInfo()
## R version 3.2.3 (2015-12-10)
## Platform: x86_64-pc-linux-gnu (64-bit)
## Running under: Ubuntu 14.04.3 LTS
## 
## locale:
##  [1] LC_CTYPE=en_AU.UTF-8       LC_NUMERIC=C              
##  [3] LC_TIME=en_AU.UTF-8        LC_COLLATE=en_AU.UTF-8    
##  [5] …
Run Code Online (Sandbox Code Playgroud)

r date knitr pander

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

即使可以从终端运行相同的命令,R system()也无法分配内存

我有一个R system()函数的问题(用于从R内部运行OS命令),即使有很多R会话占用了超过可用RAM的一部分(在我的情况下,大约为75%),该问题才会出现可用的RAM(在我的情况下为〜15GB)和相同的OS命令可以从终端轻松同时运行。

系统信息:
64GB RAM PC(本地台式机,不是基于云的或群集的)
Ubuntu 18.04.1 LTS-x86_64-pc-linux-gnu(64位)
R版本3.5.2(直接执行,例如不通过docker执行)

本示例说明了该问题。数据帧的大小d需要调整为尽可能小,并且仍然会引发错误。这将取决于您有多少RAM以及同时运行的RAM。

ross@doppio:~$ R

R version 3.5.2 (2018-12-20) -- "Eggshell Igloo"
Copyright (C) 2018 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

  Natural language support but running in an English locale

R is a collaborative project with many contributors.
Type 'contributors()' …
Run Code Online (Sandbox Code Playgroud)

linux r

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

标签 统计

r ×4

knitr ×2

rstudio ×2

date ×1

linux ×1

pander ×1

plot ×1

r-markdown ×1