小编Bri*_*n P的帖子

R中的TermDocumentMatrix错误

我一直在研究R中{tm}包的许多在线示例,试图创建一个TermDocumentMatrix.创建和清理语料库非常简单,但是当我尝试创建矩阵时,我一直遇到错误.错误是:

UseMethod("meta",x)中的错误:"meta"没有适用于类"character"对象的适用方法此外:警告消息:在mclapply(unname(content(x)),termFreq,control):all计划的核心在用户代码中遇到错误

例如,这里是Jon Starkweather的文本挖掘示例中的代码.为这么长的代码提前道歉,但这确实产生了一个可重复的例子.请注意,错误在{tdm}函数结束时出现.

#Read in data
policy.HTML.page <- readLines("http://policy.unt.edu/policy/3-5")

#Obtain text and remove mark-up
policy.HTML.page[186:202]
id.1 <- 3 + which(policy.HTML.page == "                    TOTAL UNIVERSITY        </div>")
id.2 <- id.1 + 5
text.data <- policy.HTML.page[id.1:id.2]
td.1 <- gsub(pattern = "<p>", replacement = "", x = text.data, 
     ignore.case = TRUE, perl = FALSE, fixed = FALSE, useBytes = FALSE)

td.2 <- gsub(pattern = "</p>", replacement = "", x = td.1, ignore.case = TRUE,
     perl = FALSE, fixed = FALSE, useBytes …
Run Code Online (Sandbox Code Playgroud)

r corpus text-mining tm term-document-matrix

12
推荐指数
2
解决办法
1万
查看次数

旋转chordDiagram中的标签(R circlize)

以下是circlize包中用于创建和弦图的一些代码.现在标签与圆的边缘平行.是否可以将标签旋转90度,使其垂直于圆圈?

library(circlize)
set.seed(999)
mat = matrix(sample(18, 18), 3, 6)
rownames(mat) = paste0("Start", 1:3)
colnames(mat) = paste0("End", 1:6)
chordDiagrm(mat)
Run Code Online (Sandbox Code Playgroud)

在下图中,我手动插入了几个标签,以显示我希望完成的任务(End5,End6,End7).谢谢.

在此输入图像描述

r chord-diagram circlize

10
推荐指数
1
解决办法
3302
查看次数

ggplotly - R,标记跟踪名称

我是新手,并且无法找到关于如何命名迹线的相关文档,因此在渲染的图中会出现一个有意义的标签ggplotly.这是ggplotly网站,其中显示了许多示例.在悬停时显示有意义的标签需要什么,而不是跟踪trace0,trace1等的值.

例如,在第一个图中,标签如何显示,如下所示:

比例:价值

总账单:价值

理想情况下,我想直接在R中而不是通过Web界面执行此操作.提前致谢.

r plotly

6
推荐指数
2
解决办法
7867
查看次数

R中的前瞻性

这里正则表达式的新手......

假设以下名称:

names <- c("Jackson, Michael", "Lennon, John", "Obama, Barack")
Run Code Online (Sandbox Code Playgroud)

我想拆分名称,以保留所有字符,包括名字的第一个字母.因此,结果看起来像这样:

Jackson, M
Lennon, J
Obama, B
Run Code Online (Sandbox Code Playgroud)

我知道这是一个简单的解决方案,但我仍然坚持指出似乎是一个合理的解决方案 - 即一个积极的前瞻性正则表达式.我根据逗号,空格和大写字母中的第一个字母指定匹配项.这就是我所拥有的,但显然是错的:

names.reduced <- gsub("(?=\\,\\s[A-Z]).*", "", names)
Run Code Online (Sandbox Code Playgroud)

regex r

5
推荐指数
1
解决办法
1013
查看次数

将 lapply 结果转换为 r 中的单个数据帧

我正在从 R 中的数据框列表中提取特定的行,并希望将这些行组装到一个新的数据框中。例如,我将使用虹膜数据:

data(iris)
a.iris <- split(iris, iris$Species) 
b.iris <- lapply(a.iris, function(x) with(x, x[3,]))
Run Code Online (Sandbox Code Playgroud)

我希望将返回的结果lapply()安排到与原始数据帧(例如,names(iris))具有相同结构的单个数据帧中。我一直在查看 plyr 包,但找不到正确的代码来完成这项工作。任何帮助将不胜感激!

布赖恩

r plyr lapply

4
推荐指数
1
解决办法
2146
查看次数

Shiny (Rstudio) 应用程序不起作用

我正在为 RStudio编写Shiny 教程。我更新了我的 RStudio,如教程中所述。我的当前版本是 0.98.945。当我运行提供的示例时,如runExample("01_hello"),它会打开我的 Web 浏览器并显示所有 HTML 内容,但似乎并未处理 R 代码。

当我在创建我自己的应用程序的教程中继续进行时runApp("App-1"),我在网页上收到一条错误消息:错误:找不到函数“fluidPage”。经过一番侦查,我在另一个站点上发现了一个帖子,指出我需要从 GitHub 下载 Shiny 的开发者版本,在这里找到。我运行了该安装的代码片段——但仍然没有运气。任何建议将不胜感激!

r rstudio shiny

4
推荐指数
1
解决办法
1万
查看次数

Swe不在Rstudio工作 - 找到路径,但如何设置?

我在所述相同的问题,这个帖子.也就是说,我正在检测到"No TeX"安装.我收到Yosemite-beta操作系统后,我确实重新安装了tex.我使用以下命令找到终端上tex的路径:

/usr -name pdflatex
Run Code Online (Sandbox Code Playgroud)

而且,我提出了以下路径.

/usr/local/texlive/2014/bin/universal-darwin/pdflatex
/usr/local/texlive/2014/bin/x86_64-darwin/pdflatex
Run Code Online (Sandbox Code Playgroud)

我想知道我应该使用哪条路径以及要构建的特定文件.我使用的帖子作为参考建议:

$ sudo -s "echo /usr/texbin > /etc/paths.d/TeX"
Run Code Online (Sandbox Code Playgroud)

我不擅长终端,所以我有点害怕在命令行做太多,除非我确切知道我在做什么.

提前致谢.

tex pdflatex sweave rstudio

4
推荐指数
1
解决办法
2624
查看次数

使用dplyr格式化summarise_each中的输出

问候:我是dplyr的新手,并且在格式化输出时遇到了一些挑战.这是一个代码片段,它产生一些可重现的数据,melt用于将其变为我需要的形状.

set.seed(1234)
library(reshape2)
library(dplyr)
val <- c(0:1)
a <- sample(val, 99, replace=T)
b <- sample(val, 99, replace=T)
c <- sample(val, 99, replace=T)
d <- sample(val, 99, replace=T)
dat <- data.frame(a,b,c,d)
melt.dat <- melt(dat) 
Run Code Online (Sandbox Code Playgroud)

现在,我可以执行所需的摘要:

SummaryTable <- melt.dat %>%
group_by(variable) %>%
summarise_each(funs(sum, sum/n()))
Run Code Online (Sandbox Code Playgroud)

这是我的输出:

  variable sum        *
1        a  50 50.50505
2        b  58 58.58586
3        c  46 46.46465
4        d  46 46.46465
Run Code Online (Sandbox Code Playgroud)

我的理想输出如下.我无法弄清楚如何在summarise_eachmelt函数中指定我的列名,设置小数位并抑制行号.我已经花了很长时间才能做到这一点,似乎无法让其他人知道!

   Letter Count Percent
        a    50    50.5
        b    58    58.6
        c    46 …
Run Code Online (Sandbox Code Playgroud)

r dplyr

4
推荐指数
1
解决办法
5261
查看次数

如何删除旧的R基础包?(R工作室更新后无法正常工作)

我最近将R从2.15更新为3.1.自更新以来,我无法运行R-Studio.R(v3.1)运行得很好,独立于R-Studio.我也尝试卸载并重新安装R-Studio,但它无法打开.基于一些调查,问题似乎是R-Studio与旧的基础包有冲突.(我的操作系统是Mavericks.)

我发现了一个终端命令来运行以检查版本 - 这就是我得到的:

$ ls /Library/Frameworks/R.framework/Versions/ 2.15 3.1当前

好吧,我承认我不熟悉终端命令,所以我希望有人可以提供或指出我删除旧基础包的指示.或者,如果您认为R Studio的问题是别的,请告诉我!

谢谢,Brian

r rstudio osx-mavericks

3
推荐指数
1
解决办法
5495
查看次数

为什么标点符号的 R gsub(或正则表达式)没有得到所有标点符号?

我正在清理基于文本的数据文件,但无法弄清楚为什么gsub("[[:punct:]]", "", X1)不匹配所有标点符号。不幸的是,我无法在这里复制这个问题,这让我认为这是一个字符编码问题——有问题的标点符号的外观与标准 ASCII 明显不同。

这是我读入文件后可以解决的问题,还是我必须在前端做些什么?例如,Hadley关于编码问题的帖子让我觉得我在读取文件时需要指定编码语句。但是,我正在从一个文件夹中读取一堆不同的 txt 文件,所以我不确定最佳解决方案。基本上,我只想保留所有字母 [A-Za-z] 并排除其他所有字母。(也就是说,gsub([^A-Za-z], "", X1)也不起作用!)

任何有关处理此问题的建议将不胜感激!

regex r character-encoding

3
推荐指数
1
解决办法
803
查看次数

如何删除前导空格

我不熟悉R中的文本处理,并坚持如何删除字符串中的前导空格.这是一些代码:

set.seed(1234)
b <- paste0(sample(c("bbb ", " bbb "), 10, replace = TRUE), rep("ccc ddd", 10))
print(b)

 [1] "bbb ccc ddd"  " bbb ccc ddd" " bbb ccc ddd" " bbb ccc ddd" " bbb ccc ddd"
 [6] " bbb ccc ddd" "bbb ccc ddd"  "bbb ccc ddd"  " bbb ccc ddd" " bbb ccc ddd"
Run Code Online (Sandbox Code Playgroud)

我发现我可以删除尾随空白sub(' +$', '', b)但是将其更改为sub ('$+ ', '', b)不会删除前导空格.猜猜这是一个快速解决方案......

r gsub

1
推荐指数
1
解决办法
1911
查看次数

带索引的for循环的替代方案 - R.

我正在将非结构化数据转换为长格式,需要创建一个ID(分组)变量.我想根据另一个变量中包含的值集来分配ID变量.更具体地说,请考虑以下数据集.

set.seed(1234); x.1 <- rep(letters[1:5], 10)
x.2 <- sample(c(0:10), 50, replace=TRUE)
x.3 <- rep(NA, 50); df <- data.frame(x.1, x.2, x.3) 
df <- df[-c(2, 19),]
Run Code Online (Sandbox Code Playgroud)

可以从x.1变量中识别出一个独特的案例 - 它以...开头a并以其结尾e.情况总是如此.x.3将保存ID(分组)变量.

> head(df, 9)
x.1 x.2 x.3
a   1    NA
c   6    NA
d   6    NA
e   9    NA
a   7    NA
b   0    NA
c   2    NA
d   7    NA
e   5    NA
Run Code Online (Sandbox Code Playgroud)

给定案例之间a和之间的记录数量e可能有很大差异(在实际数据文件中).因此,我不能通过简单地将变量除以固定数量的记录来分配唯一ID.我想出了如何使用for循环进行正确的赋值:

START <- which(df$x.1== "a")
END <- which(df$x.1 == "e")
for(i in …
Run Code Online (Sandbox Code Playgroud)

r lapply

1
推荐指数
1
解决办法
112
查看次数