如何读取固定宽度格式的大数据?我读了这个问题并尝试了一些提示,但所有答案都是针对分隔数据(如.csv),而这不是我的理由.数据有558MB,我不知道有多少行.
我正在使用:
dados <- read.fwf('TS_MATRICULA_RS.txt', width=c(5, 13, 14, 3, 3, 5, 4, 6, 6, 6, 1, 1, 1, 4, 3, 2, 9, 3, 2, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 4, 11, 9, 2, 3, 9, 3, 2, 9, 9, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1), …Run Code Online (Sandbox Code Playgroud) 如何在shapefile之后保留多边形的信息?让我试着解释一下:
我有一个包含这些数据的shapefile:
> head(mapa@data)
ID CD_GEOCODI TIPO CD_GEOCODB NM_BAIRRO CD_GEOCODS NM_SUBDIST CD_GEOCODD NM_DISTRIT CD_GEOCODM NM_MUNICIP NM_MICRO NM_MESO
12228 33679 431490205000133 URBANO 431490205003 Cidade Baixa 43149020500 <NA> 431490205 PORTO ALEGRE 4314902 PORTO ALEGRE PORTO ALEGRE METROPOLITANA DE PORTO ALEGRE
12229 33680 431490205000134 URBANO 431490205003 Cidade Baixa 43149020500 <NA> 431490205 PORTO ALEGRE 4314902 PORTO ALEGRE PORTO ALEGRE METROPOLITANA DE PORTO ALEGRE
12230 33681 431490205000135 URBANO 431490205003 Cidade Baixa 43149020500 <NA> 431490205 PORTO ALEGRE 4314902 PORTO ALEGRE PORTO ALEGRE METROPOLITANA DE PORTO ALEGRE …Run Code Online (Sandbox Code Playgroud) 我该如何保存这个单元格
data = cell([3 2]);
data{1,1} = 'Bla';
data{2,1} = 'Bla1';
data{3,1} = 'Bla2';
data{1,2} = '2';
data{2,2} = '3';
data{3,2} = '1'
Run Code Online (Sandbox Code Playgroud)
到csv文件?
我试过了
dlmwrite('C:\Users\Ro\Desktop\Mestrado\Resultados\Tabelas\VaR_tab.csv',data,'delimiter',';')
Run Code Online (Sandbox Code Playgroud)
但它给出了此错误消息:
Error using dlmwrite (line 118)
The input cell array cannot be converted to a matrix.
Run Code Online (Sandbox Code Playgroud) 我有这些数据:
data <- structure(list(Cod.projeto = c(7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L
), Nome.projeto = c("ESCOLAS INFANTIS", "ESCOLAS INFANTIS", "ESCOLAS INFANTIS",
"ESCOLAS INFANTIS", "ESCOLAS INFANTIS", "ESCOLAS INFANTIS", "ESCOLAS INFANTIS",
"ESCOLAS INFANTIS"), Secretarua = c("SMED", "SMED", "SMED", "SMED",
"SMED", "SMED", "SMED", "SMED"), Comp = structure(c(1L, 2L, 1L,
2L, 1L, 2L, 1L, 2L), .Label = c("28/02/2013", "01/03/2013"), class = c("ordered",
"factor")), Estado = c("Criadas", "Criadas", "Providas", "Providas",
"Criadas", "Criadas", "Providas", "Providas"), Categoria = c("A/G",
"A/G", "A/G", "A/G", "B", "B", "B", "B"), …Run Code Online (Sandbox Code Playgroud) 如何仅使用1 gsub删除多个空格和尾随空格?我已经完成了这个功能trim <- function(x) gsub(' {2,}',' ',gsub('^ *| *$','',x)),但我只想用1 gsub重写它.
实际上,我希望精益如何匹配基于gsub之后/之前的内容.在这个例子中,我需要匹配前面有一个空格的所有空格,并用''替换它们
我可以使用以下命令更改输出中的小数字符:
> 1/2
[1] 0.5
> options(OutDec = ',')
> 1/2
[1] 0,5
Run Code Online (Sandbox Code Playgroud)
但是,这种变化并不影响sprintf()功能。
> sprintf('%.1f', 1/2)
[1] "0.5"
Run Code Online (Sandbox Code Playgroud)
所以,我的问题是:有一种简单的方法可以改变它(小数字符)吗?我认为我不能使用“简单”RE,因为并非所有.需要都通过 进行交易,。
我不知道该怎么做,所以我不能说我已经做了什么。
我正在编写一个函数来编写tex格式的自动表.我遇到的一个问题是带有长字符串的表.为了解决这个问题,我创建了一个在更多行中打破长字符串的函数.我的函数在每个具有leat len字符的空间中都会中断(它不会破坏单词).我想改变这个规则:打破下一个空格至少包含len字符的每个空格(换句话说,我不希望'子串'具有多个len字符,除了一个单词超过10个字符的情况).
quebra <- function(text, len=30) {
trim <- function(x) gsub('^ *|(?<= ) | *$', '', x, perl=TRUE)
quebrado <- strsplit(trim(paste(text)),paste0('(?<=.{',len,'}) '), perl=T)
tam <- max(sapply(quebrado, length))
out <- sapply(quebrado, function(x, tam) x[1:tam], tam=tam)
out[is.na(out)] <- ''
out
}
Run Code Online (Sandbox Code Playgroud)
例:
quebra('1234567890 123456789 123456789', 10) 正在回归:
[,1]
[1,] "1234567890"
[2,] "123456789 123456789"
Run Code Online (Sandbox Code Playgroud)
但我想要:
[,1]
[1,] "1234567890"
[2,] "123456789"
[3,] "123456789"
Run Code Online (Sandbox Code Playgroud)
我认为这应该有效,但我无法使其适应strsplit()格式化.
如何在字符串中保留%符号sprintf()?
现在,我正在使用sprintf('%.2f%s', runif(1, 0, 100), '%'),但应该有另一种方式.