我想研究如何从SAS访问SQLite DB.这样做最简单的方法是什么?是否有SAS产品我们可以许可这样做?我不想使用ODBC驱动程序,因为这似乎是很久以前写的,并不是SQLite的正式部分.
我们来看看其中一个演示.
runExample("09_upload")
Run Code Online (Sandbox Code Playgroud)
我正在使用提供的文件执行一些计算并显示所有上传文件的聚合性能.因此,我使用类似的东西
tryCatch(compute.smth(), error=function(e){})
Run Code Online (Sandbox Code Playgroud)
这样显示的结果不会受到错误输入的影响.但是,我想以某种方式表明上传坏文件会导致错误,通知用户输入的问题.它会是这样的
tryCatch(compute.smth(), error=badFile())
Run Code Online (Sandbox Code Playgroud)
其中badFile()应该修改一些可显示的输出.有任何想法吗?作为最后的手段,这可能是一个选择,但我想要一些原生的Shiny.
在RI中有一个字符串
file = "c:\\hello\\nihao"
Run Code Online (Sandbox Code Playgroud)
如何用/替换所有\??gsub文档确实令人困惑!你应该获得额外的积分来指向一个好的R正则表达式资源!!
我想显示一个Markdown表,其中一个单元格具有管道“ |”
Column1 | Column2
------- | -------
| | hello
Run Code Online (Sandbox Code Playgroud)
只是不起作用。如何逃脱 在桌子上?我尝试过* | *也没有用
我有一个数百万行的data.table,列之一是date列。我想为该列中的所有日期添加12个月并创建一个新列。所以我使用dplyr和lubridate软件包,例如
library(dplyr)
library(lubridate)
new_data <- data %>% mutate(date12m = date %m+% months(12))
Run Code Online (Sandbox Code Playgroud)
这可以工作,但是对于大型数据集来说非常慢。我想念什么吗?如何加快速度?我通常不希望R这样简单的任务运行超过10分钟
编辑:
我注意到,我的解决方案已经比使用as.yearmon更有效。感谢Beauvel上校的解决方案
a <- data.frame(date = rep(today(),1000000))
func = function(u) {
d = as.Date(as.yearmon(u)+1, frac=1)
if(day(u)>day(d)) return(d)
day(d) = day(u)
d
}
pt <- proc.time()
a <- a %>% mutate(date12m = func(date))
data.table::timetaken(pt)
pt <- proc.time()
a <- a %>% mutate(date12m = date %m+% 12)
data.table::timetaken(pt)
Run Code Online (Sandbox Code Playgroud) 在 R 中replicate(n, expr)重复运行expr表达式n时间与rep(value, n)重复value n时间相反。
Julia 与 Rreplicate和的等价物是rep什么?
例如。在 R
rep(1:3, 3) 产量 c(1:3, 1:3, 1:3)
并replicate(3, runif(1))从均匀分布中生成 3 个随机数(即它运行了runif(1)3 次。
我有一个这样的data.frame
df = data.frame(
do_not_rename = 1:3,
rename1 = 1:3,
rename2 = 1:3)
Run Code Online (Sandbox Code Playgroud)
并假设我只想通过在前面添加“完成” "rename"来重命名以开头的对象"finished_renamex"。
我怎么做?想象一下,如果我有数千个变量。
假设我有一个返回两个标量的函数,我想将它与 一起使用summarize,例如
fn = function(x) {
list(mean(x), sd(x))
}
iris %>%
summarize(fn(Petal.Length)) # Error: Column `fn(Petal.Length)` must be length 1 (a summary value), not 2
iris %>%
summarize(c("a","b") := fn(Petal.Length))
# Error: The LHS of `:=` must be a string or a symbol Run `rlang::last_error()` to see where the error occurred.
Run Code Online (Sandbox Code Playgroud)
两种方法我都试过,但无法弄清楚。
但是,这可以通过 data.table
library(data.table)
iris1 = copy(iris)
setDT(iris1)[, fn(Petal.Length)]
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点dplyr?
我有一个数据框
df_input = pd.DataFrame(
{
"col_cate": ['A', 'A', 'B', 'B', 'A', 'A', 'B', 'B'],
"target_bool": [True, False, True, False, True, False, True, False]
}
)
Run Code Online (Sandbox Code Playgroud)
我想计算唯一类别的数量。所以我期待输出是这样的
col_cate, target_bool, cnt
'A' , True , 2
'A' , False , 2
'B' , True , 2
'B' , False , 2
Run Code Online (Sandbox Code Playgroud)
但df_input.group_by(["col_cate", "target_bool"]).count()给
Empty DataFrame
Columns: []
Index: [(A, False), (A, True), (B, False), (B, True)]
Run Code Online (Sandbox Code Playgroud)
但是dummy在df_input作品中添加一个,比如df_input["dummy"] = 1.
如何在不添加虚拟对象的情况下按计数表获取组?