采用整洁我才刚刚开始,但我通过它的职能混淆parseString(),repairString(),cleanRepair().我已经通过php.net手册和其他网站,但可以得到它?php手册说,parseString()解析存储在字符串中repairString()的文档并修复存储在字符串中的文档.但解析和修复之间有什么区别.两者都接受可选参数,它们可以给出相同的参数,那么有什么区别?什么时候使用哪个功能和什么时候?我在教程中看到,它使用了这两个函数.有人可以帮忙吗?如果你知道,也指向任何有用的链接.谢谢
我正在使用php的整洁库来"清理和修复"来自用户输入的一些html.
一切正常,但我遇到了一个问题,我无法弄清楚它的原因是什么.我的代码是这样的:
$tidy = new tidy();
$tidy_options = array(
'hide-comments' => true,'tidy-mark' => false, 'indent' => false,
'new-blocklevel-tags' => 'article,footer,header,hgroup,output,progress,section,video',
'new-inline-tags' => 'audio,details,time,ruby,rt,rp',
'drop-empty-paras' => false,
'doctype' => '<!DOCTYPE HTML>',
'sort-attributes' => 'none', 'vertical-space' => false,
'output-xhtml' => true,'wrap' => 180,
'wrap-attributes' => false,
'break-before-br' => false,
'show-body-only' => true
);
$data = $tidy->repairString($data, $tidy_options, 'UTF8');
echo $data;
Run Code Online (Sandbox Code Playgroud)
这适用于所有类型的输入,除非我正在尝试使用html来嵌入swf文件.
所以,我尝试这个代码:
<object data="http://the_swf_file_url" type="application/x-shockwave-flash" width="853" height="520">
<param name="movie" value="http://the_swf_file_url">
</object>
Run Code Online (Sandbox Code Playgroud)
但是RepairString对它进行了条纹处理,并返回一个空字符串.
最奇怪的是: -
如果我输入一些文字以及上面的内容,那么输入就像Hello world<object...>...</object>它可以正常工作一样.
- 如果我指定 …
在TextMate中有"格式化CSS"和"格式化CSS压缩"这个很棒的选项.vim中似乎不存在此选项.也许它是在一个我不知道的插件中?或者我可能需要以某种方式整合CSS Tidy?
我有兴趣从这个表中删除文本:https://ows.doleta.gov/unemploy/trigger/2011/trig_100211.html 以及其他类似的文本.
我写了一个快速python脚本,适用于以类似方式格式化的其他表:
state = ""
weeks = ""
edate = ""
pdate = url[-11:]
pdate = pdate[:-5]
table = soup.find("table")
for row in table.findAll('tr'):
cells = row.findAll("td")
if len(cells) == 13:
state = row.find("th").find(text=True)
weeks = cells[11].find(text=True)
edate = cells[12].find(text=True)
try:
print pdate, state, weeks, edate
f.writerow([pdate, state, weeks, edate])
except:
print state[1] + " error"
Run Code Online (Sandbox Code Playgroud)
但是,该脚本不适用于此表,因为标记在一半的行中被破坏.一半行的格式没有标记,以指示行的开头:
</tr> #end of last row, on State0
<td headers = "State1 no info", attributes> <FONT attributes> text </FONT> </td> …Run Code Online (Sandbox Code Playgroud) 我已经看到了非常类似的问题,但仍然无法解决这个简单的问题.
我想在分组变量上运行配对t检验,并将结果存储在数据帧中.tidy包broom中的命令执行此操作但是当我运行下面的代码时,输出对于每个时间点都是相同的.我知道我可以使用循环来完成它,但我想在tidy这里使用并了解发生了什么.
这是一个可重复的例子:
library(dplyr)
library(broom)
df <- data.frame (time1=rep(1:4,30),
sbp=runif(120, 100, 150),
sbp1=runif(120, 120, 170))
R>head(df)
time1 sbp sbp1
1 1 146.9411 151.4842
2 2 102.7216 139.3380
3 3 125.7126 167.1806
4 4 126.0086 146.2177
5 1 149.9213 139.7968
6 2 117.6843 135.2726
z<-df %>%
arrange(time1) %>%
group_by(time1) %>%
do(tidy(t.test(df$sbp,df$sbp1,paired=TRUE)))
Run Code Online (Sandbox Code Playgroud)
每个时间点的结果输出相同:
R>head(z)
Source: local data frame [4 x 7]
Groups: time1 [4]
time1 estimate statistic p.value parameter conf.low conf.high
(int) (dbl) (dbl) (dbl) (dbl) …Run Code Online (Sandbox Code Playgroud) 我正在努力寻找有效地将标记变量转化为因素的方法。我正在使用的数据集可从此处获取:[ https://www.dropbox.com/s/jhp780hd0ii3dnj/out.sav?dl=0][1]。这是一个 spss 数据文件,我喜欢使用它,因为我的同事也使用它。
当我读入数据时,您可以看到文件中的每个因素都变成了“标记”类。
#load libraries
library(haven)
library(tidy)
library(dplyr)
#Import
test<-read_sav(path='~/your/path/name/out.sav')
#Structure
str(test)
#Find Class
sapply(test, class)
Run Code Online (Sandbox Code Playgroud)
我遇到的第一个问题是 ggplot2 不知道如何将比例应用于标记的类。
#
td<-ford %>%
select(income, stress) %>%
group_by(income, stress)%>%
filter(is.na(stress)==FALSE)%>%
filter(is.na(income)==FALSE)%>%
summarize(Freq=n())%>%
mutate(Percent=(Freq/sum(Freq))*100)
#Draw plot
ggplot(td, aes(x=income, y=Percent, group=stress))+
#barplot
geom_bar(aes(fill=stress), stat='identity')
Run Code Online (Sandbox Code Playgroud)
通过将分类变量“收入”包装在 as_factor() 中可以很好地解决这个问题
#Draw plot
ggplot(td, aes(x=as_ford(income), y=Percent, group=stress))+
#barplot
geom_bar(aes(fill=stress), stat='identity')
Run Code Online (Sandbox Code Playgroud)
然而,这对 rone 变量有效,如果我正在进行探索性研究,我可能会做很多带有很多标记变量的图。这让我觉得需要额外打字很多。
当您收集大量变量来绘制多个交叉表时,这个问题会被放大,您会丢失值标签。
##Visualizations
test<-ford %>%
#The first two variables are the grouping, variables for a series of cross tabs
select(ford, stress,resp_gender, immigrant2, education, …Run Code Online (Sandbox Code Playgroud) 问题:
使用 tidy_parse_string() 返回:
调用未定义的函数
尝试:
搜索:
apt-cache search tidy
Run Code Online (Sandbox Code Playgroud)
但我只在返回的列表中看到这个 php 扩展:
php5-tidy - php5 的整洁模块
如何为 PHP 7.2 安装模块?
我尝试通过删除 ; 在 fpm 7.2 文件夹中的 php ini 中启用模块:
;扩展=整洁
但是没有扩展名的路径,所以我想它还没有安装。
提示: Tidy 自己的页面说您使用“配置选项”进行安装 - 我不知道这与 apt 安装的软件包有什么关系。
https://www.php.net/manual/en/tidy.installation.php
细化:
该包在此处列出:
https://packages.ubuntu.com/disco/php7.2-tidy
但是在搜索 apt-get 时它不会显示,即使在更新列表之后也是如此。只显示 php5 扩展名?
我想将数据框置于宽格式中,考虑两个变量作为标准(甚至可能是不必要的)。但我对此发表评论是因为原始 df 是 480 行和几个子级别。
这是返回一个错误!
library(tidyr)
library(dplyr)
df <- structure(list(ID = c(1, 2, 3, 4), Gender = c("Men", "Women", "Men",
"Women"), Country = c("Austria", "Austria", "Austria", "Austria"
), Season_ID = c("2011", "2012", "2011", "2012"), Region_UN = c("A",
"B", "A", "B")), row.names = c(NA,
-4L), class = c("tbl_df", "tbl", "data.frame"))
df_wide <- df %>%
pivot_wider(names_from = Gender,
values_from = Region_UN,
id_cols = c(Country, Season_ID))
Run Code Online (Sandbox Code Playgroud)
警告消息:值没有唯一标识;输出将包含列表列。
values_fn = list抑制此警告。values_fn = length识别重复项出现的位置values_fn = {summary_fun}总结重复项 …我想将SpatVector对象转换为数据框以在 ggplot2 中使用。
pkgs <- c("geodata", "raster", "ggplot2", "tidy")
lapply(pkgs, require, character.only = TRUE)
boundary_GB <- geodata::gadm(country = "GB", path = tempdir(), resolution = 2, level = 1)
Run Code Online (Sandbox Code Playgroud)
我目前的方法需要很长时间:
boundary_GB_df <- broom::tidy(methods::as(boundary_GB, "Spatial"))
Run Code Online (Sandbox Code Playgroud)
剧情:
ggplot(data = boundary_GB_df, mapping = aes(x = long, y = lat, group = group)) +
geom_polygon(fill = NA, colour = "black")
Run Code Online (Sandbox Code Playgroud)
我对 SpatVector 对象没有经验,有更快的方法吗?
我知道 tidyterra 包(即 tidyterra::geom_spatvector())。
谢谢
我的内容在我的旧数据库中既不是有效的HTML也不是XML.考虑到这个事实,很难清理遗留问题,我想在MarkLogic中使用xdmp:tidy来整理它.我目前正在使用ML-8.
<sub>
<p>
<???†?>
</p>
</sub>
Run Code Online (Sandbox Code Playgroud)
我正在通过某种方式将此内容传递给整洁的功能:
declare variable $xml as node() :=
<content>
<![CDATA[<p><???†?></p>]]>
</content>;
xdmp:tidy(xdmp:quote($xml//text()),
<options xmlns="xdmp:tidy">
<assume-xml-procins>yes</assume-xml-procins>
<quiet>yes</quiet>
<tidy-mark>no</tidy-mark>
<enclose-text>yes</enclose-text>
<indent>yes</indent>
</options>)
Run Code Online (Sandbox Code Playgroud)
结果它返回:
<p>
<? ?†?>
</p>
Run Code Online (Sandbox Code Playgroud)
现在这个结果不是有效的xml格式(我通过XML验证器检查过),因为当我尝试将这个XML插入MarkLogic时,它会抛出一个错误,说'MALFORMED BODY | 无效的处理指令名称'.
我对PI进行了一些调查,但没有太多运气.我本可以尝试在没有PI的情况下保存内容,但这也不是一个有效的PI.