我想设置一个包含命名条目的列表,其值未被初始化(我计划稍后向它们添加内容).人们通常如何做到这一点?我弄完了:
mylist.names <- c("a", "b", "c")
mylist <- as.list(rep(NA, length(mylist.names)))
names(mylist) <- mylist.names
Run Code Online (Sandbox Code Playgroud)
但这似乎有点hacky.必须有更标准的方法来做到这一点......对吗?
我尝试在R中绘制一些数据,y轴标签水平,y轴刻度标签左边.我认为下面的代码可行:
set.seed(1)
n.obs <- 390
vol.min <- .20/sqrt(252 * 390)
eps <- rnorm(n = n.obs, sd = vol.min)
mar.default <- c(5,4,4,2) + 0.1
par(mar = mar.default + c(0, 4, 0, 0)) # add space to LHS of plot
pdf("~/myplot.pdf", width=5.05, height=3.8)
plot(eps, main = "Hello World!", las=1, ylab="") # suppress the y-axis label
mtext(text="eps", side=2, line=4, las=1) # add horiz y-axis label
# 4 lines into the margin
Run Code Online (Sandbox Code Playgroud)

相反,正如您所看到的,y轴标签几乎完全落在图形窗口之外.无论我扩大LHS边际多少,这种现象仍然存在.
问:我做错了什么?我需要对oma参数做些什么吗?我需要做什么来按照我的意图来绘制事物?所有这些让我有点不知所措!
什么是重命名RStudio项目的正确方法(特别是,当该项目受版本控制时)?
例如,我在"〜/ myproject"中创建了一个带版本控制的RStudio项目.然后我决定将项目重命名为"myproject1".所以我
一切似乎都很好.但我怀疑自己错过了什么,而且我会对一些项目行为感到惊讶.
问:在R dplyr管道中,如何将一些中间输出分配给临时变量以便在管道中进一步使用?
我的方法可行.但它分配到全局框架中,这是不可取的.必须有更好的方法,对吗?我认为我的方法涉及评论线将得到预期的结果.没有骰子.困惑为什么不起作用.
df <- data.frame(a = LETTERS[1:3], b=1:3)
df %>%
filter(b < 3) %>%
assign("tmp", ., envir = .GlobalEnv) %>% # works
#assign("tmp", .) %>% # doesn't work
mutate(b = b*2) %>%
bind_rows(tmp)
a b
1 A 2
2 B 4
3 A 1
4 B 2
Run Code Online (Sandbox Code Playgroud) 我一直在寻找R图形参数,试图让我的情节看起来更专业(例如las=1,bty="n"通常是帮助).开始玩了tikzDevice,这是我脑海中一个巨大的进步.令人惊讶的是,当图中的字体大小和样式与周围文档的字体大小和样式相匹配时,看起来有多好.
我想在我的情节中添加几种效果,并且对以可重现的方式这样做的方法感兴趣.我意识到这些可能被认为是"图表垃圾",但我发现在我的领域中添加它们有助于将输出视为专业.
具体来说,我想产生以下任何或所有效果:



代码,对适当软件包的引用或实现这些影响的策略大纲将会有所帮助.谢谢.
问:我可以在Java中更改变量的声明类型吗?
例如,
public class Tmp{
public static void main(String[] args) {
String s = "Foo";
s = null; //same Error results whether this line included or not
int s = 3;
System.out.println(s);
}
}
Run Code Online (Sandbox Code Playgroud)
但尝试编译导致消息:
Error: variable s is already defined in method main(java.lang.String[])
Run Code Online (Sandbox Code Playgroud)
奇怪的是,在交互式DrJava会话中重新声明变量的类型可以正常工作:
> String s = "Foo"
> int s = 1
> s
1
Run Code Online (Sandbox Code Playgroud)
这是怎么回事?
这里已经写了很多关于在R中为统计项目开发工作流程的文章.最受欢迎的工作流程似乎是Josh Reich的LCFD模型.使用main.R包含代码:
source('load.R')
source('clean.R')
source('func.R')
source('do.R')
Run Code Online (Sandbox Code Playgroud)
这样一个单独source('main.R')运行整个项目.
问:是否有一个理由,更喜欢这个工作流程的一个该行由行解释工作做的load.R,clean.R以及do.R是由被调用的函数代替main.R?
我现在找不到这个链接了,但是我已经在某个地方看过,当在R中编程时,必须克服他们用函数调用来编写所有内容的愿望 - 这就是R代表写的是这个行 - 解释形式.
问:真的吗?为什么?
我对LCFD方法感到沮丧,我可能会根据函数调用编写所有内容.但在此之前,我想听听SO的优秀人士是否这是一个好主意.
编辑:我正在进行的项目是(1)读取一组财务数据,(2)清理它(非常复杂),(3)使用我的估算器估算与数据相关的一些数量(4)使用传统估算器估算相同数量(5)报告结果.我的程序应该以这样的方式编写,即对于不同的经验数据集(1)进行模拟数据,或(3)使用不同的估计器,这是一项工作(1).此外,它应该遵循有文化的编程和可重复的研究指南,以便新的代码运行程序,了解正在发生的事情,以及如何调整它.
如何在矢量列表中将所有矢量元素设置为NA?
基本上,我想保留现有列表的结构和名称,但是清空所有值,以便稍后填写它们.我提供了一个最小的例子,下面是几个解决方案.我更喜欢base和tidyverse(尤其是purrr)解决方案,但可以采用任何比我下面更好的方法.
my_list <- list(A = c('a' = 1, 'b' = 2, 'c' = 3), B = c('x' = 10, 'y' = 20))
ret_list <- my_list
# Approach 1
for (element_name in names(my_list)) {
ret_list[[element_name]][] <- NA
}
ret_list
# $A
# a b c
# NA NA NA
#
# $B
# x y
# NA NA
# Approach 2
lapply(my_list, function(x) {x[] <- NA; return(x)})
# $A
# a b c
# NA NA NA
#
# $B …Run Code Online (Sandbox Code Playgroud) 如何bbm在 html/docx 输出的 R 降价中使用 LaTeX 包?
目前我正在使用下面的 hack 解决方案,基本上,我只是放弃使用bbm.docx/.html 输出包。是否有一个 hack 解决方案,我仍然可以使用该软件包?
请注意,这个问题与我的问题有关在 R Markdown 文档中,“包含”用于 docx 输出?在那里我特别询问如何将这些特殊<!--- For DOCX Only --->代码块移动preamble-word.tex到要包含在 YAML 标头中的文件中。这个问题也与How to get \bm{} to work in a R markdown (to HTML) file? 我目前的 hack forbbm基本上是对作为该问题的答案提出的其中一个hack的改编。
---
title: "TinyTeX Test"
header-includes:
- \usepackage{bbm}
output:
pdf_document: default
html_document: default
word_document: default
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
<!--- For HTML Only …Run Code Online (Sandbox Code Playgroud) 如何使表格交叉引用在具有所有输出格式 pdf、docx 和 html 的 bookdown 文档中起作用?或者更具体地说,我怎样才能获得表格交叉引用flextables?
下面是一个最小的工作示例。第二个表,使用kable(),让我几乎一直到那里。问题是 docx 输出中的表格渲染完全无法使用(不是在这个 MWE 中,而是在我的实际用例中)。我考虑有条件地创建表格,flextable用于 docx 输出以及kablepdf 和 html 输出。flextable在 docx 输出中看起来不错。但是表引用不起作用!
---
title: "A Book"
author: "Frida Gomam"
site: bookdown::bookdown_site
documentclass: book
output:
bookdown::word_document2: default
bookdown::pdf_book: default
bookdown::gitbook: default
---
# Hello World
```{r setup, include=FALSE}
library(dplyr)
library(flextable)
```
<!--- this tabulates in docx and html output --->
```{r, test01, echo = FALSE, eval = !knitr::is_latex_output()}
mtcars %>%
head() %>%
flextable() %>% …Run Code Online (Sandbox Code Playgroud)