我正在通过在 RStudio 服务器和 DBI 库上操作来使用 Microsoft SQL Azure 版本 12。我需要从长度为 4000 的变量的数据帧创建多个 SQL 表。这可以通过以下方式完成
# Create dataframe
df <- data.frame("myid" = stringi::stri_rand_strings(5, 4000),
"mydate" = c(Sys.time(), Sys.time()-1, Sys.time()-2, Sys.time()-3, Sys.time()-4) )
# Create SQL table sschema.ttable
DBI::dbWriteTable(conn = connection,
name = DBI::Id(schema = "sschema", table = "ttable"),
value = df,
overwrite = TRUE)
Run Code Online (Sandbox Code Playgroud)
此操作失败并出现以下错误
result_insert_dataframe(rs@ptr、values、batch_rows) 中出现错误:nanodbc/nanodbc.cpp:1617: 00000: [Microsoft][ODBC Driver 17 for SQL Server]字符串数据,右截断
我试过
VARCHAR(6000)而不是VARCHAR(255)> 附加数据帧。这会导致相同的“字符串数据,右截断”错误。有什么解决方案可以直接从 R 数据帧创建 SQL 表吗?
有没有办法指示dplyr使用summarise_each规范first和na.rm=TRUE?
我有一个包含许多NA和数值的数据帧.A列是患者ID.我想根据患者ID通过取每个变量的第一个非NA来总结数据帧.这没用
`summarised_df <- df %>% group_by(patient_ID) %>%
summarise_each(funs(first(., na.rm=TRUE)))`
Run Code Online (Sandbox Code Playgroud)
提前致谢!
在这里,您可以找到数据的示例.但是,原始数据包括数百个不同的变量.