我编写了一个R脚本,它从数据库中提取一些数据,对其执行多个操作并将输出发布到新数据库.
我希望这个脚本每天都在特定的时间运行,但我找不到任何有效的方法.
任何人都可以推荐我可以看到的资源来解决这个问题吗?我在Windows机器上运行此脚本.
我有格式的数据
time <- c("16:53", "10:57", "11:58")
Run Code Online (Sandbox Code Playgroud)
等等
我想创建一个新列,其中每个时间都舍入到最接近的小时.我似乎无法让POSIX命令为我工作.
as.character(格式(data2 $ time,"%H:%M"))
format.default中的错误(结构(as.character(x),names = names(x),dim = dim(x),:invalid'trim'参数
更别说使用round命令了.任何人都可以建议吗?
使用tableGrob或grid.table创建表时.有没有办法对齐表格内的文字?左边第一列,右边第二列?而不是默认的"中心".
谢谢!
像这样的东西:我希望列"a"排在左边.
a <- c("one","two","thirty five")
b <- c(1, 2, 3)
c <- c(4, 5, 6)
data <- data.frame(a,b,c)
windows()
grid.table(
data,
gpar.coretext=gpar(fontsize = 12),
gpar.coltext = gpar(fontsize = 12),
gpar.rowtext = gpar(fontsize = 12),
gpar.corefill =
gpar(fill = "green", alpha = 0.5, col = NA),
h.even.alpha = 0.5,
equal.width = FALSE,
show.rownames = FALSE,
show.vlines = TRUE,
padding.h = unit(15, "mm"),
padding.v = unit(8, "mm")
)
Run Code Online (Sandbox Code Playgroud) 我怎么来这里......
| ID | JSON Request |
==============================================================================
| 1 | {"user":"xyz1","weightmap": {"P1":0,"P2":100}, "domains":["a1","b1"]} |
------------------------------------------------------------------------------
| 2 | {"user":"xyz2","weightmap": {"P1":100,"P2":0}, "domains":["a2","b2"]} |
------------------------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)
到这里(要求是在第2列中创建一个JSON表):
| User | P1 | P2 | domains |
============================
| xyz1 | 0 |100 | a1, b1 |
----------------------------
| xyz2 |100 | 0 | a2, b2 |
----------------------------
Run Code Online (Sandbox Code Playgroud)
以下是生成data.frame的代码:
raw_df <-
data.frame(
id = 1:2,
json =
c(
'{"user": "xyz2", "weightmap": {"P1":100,"P2":0}, "domains": ["a2","b2"]}',
'{"user": "xyz1", "weightmap": {"P1":0,"P2":100}, "domains": ["a1","b1"]}'
),
stringsAsFactors = …Run Code Online (Sandbox Code Playgroud) 我有一些字符串R应该写入MySQL表中使用RODBC.问题是我不知道如何处理字符串中的引号以获取MySQL错误,但也不会弄乱文本?
我确信解决方案有点简单,但目前我有点陷入自己的想法中 - 我没有开箱即用...逃避逃避两次反击逃脱两次或更好4(或8,只是在保存方面)
例:
require(RODBC)
con <- odbcConnect("MyMySQLDatabase")
string <- "What's up?"
query <- "INSERT INTO table (textcolumn) VALUES"
value <- paste0( "('", string, "')" )
sql <- paste( query, value, ";")
res <- sqlQuery(con, sql)
Run Code Online (Sandbox Code Playgroud)
(如何处理我从带有可能的单引号和双引号的文件中读入的文本?)
有没有办法一次选择多个数组元素?
我有这个代码:
var my_array = ["a", "b", "c", "d", "e", "f"];
Run Code Online (Sandbox Code Playgroud)
我想同时从数组中选择第 1、3、5、7、9 个元素,就像这样
my_array[0,2,4,6,8];
Run Code Online (Sandbox Code Playgroud) 假设我有一个嵌套在列表中的列表,我有一些只适用于向量的函数(比如stringr包中的str_replace).该函数应该对实际需要信息的每个元素进行工作,......
问题1:我的问题是否有具体的解决方案?
问题2:有一般解决方案吗?
应该有一个使用循环的解决方案,但这只是优雅而且可能非常慢 - 效率在这里发挥作用.
我们举个例子:
# let's start easy:
test1 <- list(c("a","d"),c("b","d"),c("c","d"))
# does not work:
str_replace(test1,"d","changed")
# but this does:
lapply(test1,str_replace,"d","changed")
# but what now ?
test2 <- list(c(list("a"),"d"),c("b","d"),c("c","d"))
# does not work! :-(
lapply(test2,str_replace,"d","changed")
Run Code Online (Sandbox Code Playgroud) 使用RSQLite构建SQLite数据库我希望一次发送多个语句 - 这可能吗?
为什么这些不工作:
sql <- readLines("createtables.sql")
dbSendQuery(con,sql)
Run Code Online (Sandbox Code Playgroud)
......而且......
sql <- paste(readLines("createtables.sql"),collapse="")
dbSendQuery(con,sql)
Run Code Online (Sandbox Code Playgroud)
......而且......
sql <- paste(readLines("createtables.sql"),collapse="\n")
dbSendQuery(con,sql)
Run Code Online (Sandbox Code Playgroud)
而这些做:
sql <- "CREATE TABLE birthdays (
nameid INTEGER PRIMARY KEY AUTOINCREMENT ,
firstname VARCHAR(100) NOT NULL ,
lastname VARCHAR(100) NOT NULL ,
birthday DATE ) ; "
dbSendQuery(con,sql)
sql <- "/* table def: foodtypes */
CREATE TABLE foodtypes (
foodid INTEGER PRIMARY KEY AUTOINCREMENT ,
foodname VARCHAR(100) NOT NULL,
healthy INTEGER,
`kcal/100g` float );"
dbSendQuery(con,sql)
Run Code Online (Sandbox Code Playgroud)
createtables.sql的内容是:
/* table def: …Run Code Online (Sandbox Code Playgroud)
我有(html-)文本,我想将ö事物更改为ä,ü,ö等真实字符,因为否则xml-package不接受它.
所以我写了一个小函数,它循环遍历一个替换表(link1,link2)并用sp特殊字符替换特殊字符...函数看起来像这样(只有looonger):
html.charconv <- function(text){
replacer <- matrix(c(
"Á", "Á",
"á", "á",
"Â", "Â",
"â", "â",
"´", "´"
)
,ncol=2,byrow=T)
for(i in 1:length(replacer[,1])){
text <- str_replace_all(text,replacer[i,2],replacer[i,1])
}
text
}
Run Code Online (Sandbox Code Playgroud)
我怎么能加快速度呢?我考虑过矢量化但没有任何帮助解决方案,因为对于每个周期,最后一个周期的结果是它的起点.