有人能指出一个工作示例,其中packrat与AppVeyor一起使用来构建R包吗?通过Google和GitHub搜索,我找不到任何使用AppVeyor的packrat-enable软件包.
appveyor.yml文件是否需要更改?我需要通过AppVeyor网站添加一些设置吗?
我有一个非常小的包(testthat是唯一的依赖)破坏了AppVeyor构建.这是为该提交冻结的代码.这是AppVeyor日志.
(如果这个SO问题听起来很熟悉,我将问Travis-CI的类似问题.)
我的 Firestore 数据库中有一个名为 Reports 的集合,我已经在其中添加了文档。但是我现在的问题是我想在报告中添加一个带有子集合的文档,有什么想法吗?
public CollectionReference Ref = firestore.collection("Reports");
Reports reports = new Reports(date, cash, total, discount, quantity, sum, employee);
Ref.add(reports);
Run Code Online (Sandbox Code Playgroud) 我想将带引号的字符串传递给调用ggplot2的函数。
library(magrittr); library(ggplot2)
g1 <- function( variable ) {
ggplot(mtcars, aes_string("wt", variable, size="carb")) +
geom_point()
}
g1("mpg")
Run Code Online (Sandbox Code Playgroud)
这很好用,但是v3.1.0文档提倡准引用和NSE aes()。
所有这些功能均已弃用。请改用整洁的评估习惯用法(请参阅aes()文档中的准引用部分)。
但是这些aes()示例使用NSE(即,g1(mpg)而不是g1("mpg"))。同样,这些SO解决方案使用NSE值或aes_()/ aes_string()。
我希望该函数接受SE /引号字符串,以容纳字符向量,例如:
variables <- c("mpg", "cyl", "disp")
variables %>%
lapply(g1)
Run Code Online (Sandbox Code Playgroud) 我有这段代码可以读取目录中的所有 CSV 文件。
nm <- list.files()
df <- do.call(rbind, lapply(nm, function(x) read_delim(x,';',col_names = T)))
Run Code Online (Sandbox Code Playgroud)
我想以将文件名附加到数据的方式修改它。结果将是一个包含所有 CSV 文件的单个数据框,并且在数据框中,有一列指定数据来自哪个文件。怎么做?
我正在尝试为以下示例数据插入样条:
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,但我不明白为什么不。我没有以正确的方式表达功能吗?
我想堆叠一个data.frames列表,但有时列有不同的数据类型.我希望操作能够强制降低最低标准(通常character在我的情况下).
这种堆叠发生在一个包含几乎任何data.frames列表的包函数中.它实际上没有能力强迫ds_a$x角色bind_rows().
ds_a <- data.frame(
x = 1:6,
stringsAsFactors = FALSE
)
ds_b <- data.frame(
x = c("z1", "z2"),
stringsAsFactors = FALSE
)
# These four implementations throw:
# Error: Can not automatically convert from integer to character in column "x".
ds_1 <- dplyr::bind_rows(ds_a, ds_b)
ds_2 <- dplyr::bind_rows(ds_b, ds_a)
ds_3 <- dplyr::bind_rows(list(ds_a, ds_b))
ds_4 <- dplyr::union_all(ds_a, ds_b)
Run Code Online (Sandbox Code Playgroud)
我希望输出是一个带有单个字符向量的data.frame:
x
1 1
2 2
3 3
4 4
5 5
6 …Run Code Online (Sandbox Code Playgroud) 这可能有一个简单的答案,但我无法弄清楚,因为我仍然掌握在 SQL Server 中使用 R 的窍门。我有一段代码从 SQL Server 表中读取数据,在 R 中执行并返回一个数据框。
execute sp_execute_external_script
@language=N'R',
@script=N'inp_dat=InputDataSet
inp_dat$NewCol=max(inp_dat$col1,inp_dat$col2)
new_dat=inp_dat
OutputDataSet=new_dat'
@input_data_1=N'select * from IM_COMP_TEST_SQL2016.dbo.temp_table';
Run Code Online (Sandbox Code Playgroud)
我想将 new_dat 插入 SQL Server 表 ( select * into new_table from new_dat)。我该怎么做?
我正在使用Rstudio中的rmarkdown文档,我注意到代码块中R代码的内联R代码的行为存在一些差异.例如,如果我lubridate::now()在代码块中使用该函数,我会看到在编织Rmd文档时将时区附加到输出.但是,当我使用相同的R代码,即lubridate::now()内联代码和编织文档时,我看到时区不包含在输出中.你能帮助我理解这种差异吗?
谢谢.
我如何读取(从文件中)一个值,"NA_integer"并让R解释它,就好像NA_integer是明确键入的一样.
以下是我失败的两次尝试:
q <- "NA_integer_"
get(q) # Returns "Error in get(q) : object 'NA_integer_' not found"
eval(q) # Returns the character value
Run Code Online (Sandbox Code Playgroud)
这是我能得到的最接近的.但我不喜欢它,因为它牺牲了很多普遍性.
f <- "as.integer"
v <- NA
do.call(f, list(v))
Run Code Online (Sandbox Code Playgroud)
编辑:添加尾随下划线
我正在尝试从数字中提取日期。日期存储为 11 位个人 ID 号(日期-月份-年)的前 6 位数字。不幸的是,基于云的数据库 (REDCap) 输出被格式化为数字,因此每月前 9 天出生的人的前导零最终会变成 10 位数字的 ID 号码,而不是 11 位数字。我设法提取了与日期相对应的 6 或 5 位数字,即 311230 代表 1930 年 12 月 31 日,或 11230 代表 1930 年 12 月 1 日。我最终遇到了两个无法解决的问题。
假设我们使用以下数字:
dato <- c(311230, 311245, 311267, 311268, 310169, 201104, 51230, 51269, 51204)
Run Code Online (Sandbox Code Playgroud)
我将它们转换为字符串,然后应用 as.Date() 函数:
datostr <- as.character(dato)
datofinal <- as.Date(datostr, "%d%m%y")
datofinal
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是:
我确信这对于那些对 R 有更多了解的人来说一定很容易,但是,我在解决这个问题上有点困难。任何帮助是极大的赞赏。
问候比约恩