Tag: r

如何在R中可视化大型networking?

networking可视化在实践中在科学中变得常见。 但是随着networking规模的不断扩大,常见的可视化技术变得越来越有用。 有太多的节点/顶点和链接/边缘。 往往可视化的努力最终产生“毛球”。 已经提出了一些新的方法来解决这个问题,例如: 边缘捆绑: http://vis.stanford.edu/papers/divided-edge-bundling或 https://gephi.org/tag/edge-bundling/ 分层边缘捆绑: http://graphics.cs.illinois.edu/sites/graphics.dev.engr.illinois.edu/files/edgebundles.pdf 组属性布局: http://wiki.cytoscape.org/Cytoscape_3/UserManual 如何在igraph中进行分组布局? 我相信还有更多的办法。 因此,我的问题是: 如何克服毛球问题,即如何使用R来可视化大型networking? 以下是一些模拟示例networking的代码: # Load packages lapply(c("devtools", "sna", "intergraph", "igraph", "network"), install.packages) library(devtools) devtools::install_github(repo="ggally", username="ggobi") lapply(c("sna", "intergraph", "GGally", "igraph", "network"), require, character.only=T) # Set up data set.seed(123) g <- barabasi.game(1000) # Plot data g.plot <- ggnet(g, mode = "fruchtermanreingold") g.plot 这个问题是关于可视化GraphViz太大的无向图? […]

用xyz坐标绘制三维表面图

我希望有经验的人可以帮助如何从xyz数据准备形状文件。 一个精心准备的数据集的一个很好的例子可以在这里看到彗星Churyumov-Gerasimenko,虽然没有提供创build形状文件的前面的步骤。 我试图更好地理解如何将一个曲面应用到给定的一组XYZ坐标。 使用笛卡尔坐标直接与R包“rgl”,但形状环绕似乎更困难。 我find了R程序包geometry ,它提供了一个QHULL函数的接口。 我试图用这个来计算Delaunay三angular面,然后我可以在rgl中rgl 。 我无法找出与函数delaunayn相关的一些选项,可能控制这些方面计算的最大距离。 我希望这里的某个人可能会对xyz数据的表面build设有所改进。 使用“斯坦福兔子”数据集的示例: library(onion) library(rgl) library(geometry) data(bunny) #XYZ point plot open3d() points3d(bunny, col=8, size=0.1) #rgl.snapshot("3d_bunny_points.png") #Facets following Delaunay triangulation tc.bunny <- delaunayn(bunny) open3d() tetramesh(tc.bunny, bunny, alpha=0.25, col=8) #rgl.snapshot("3d_bunny_facets.png") 这个答案让我相信Qhu的R实现可能会有问题。 另外,我现在已经尝试了各种设置(例如delaunayn(bunny, options="Qt") ),效果不大。 在这里列出了 Qhull选项 编辑: 这是一个额外的(更简单的)球体的例子。 即使在这里,面的计算并不总是find最近的相邻顶点(如果你旋转球,你会看到一些穿过内部的方面)。 library(rgl) library(geometry) set.seed(1) n <- 10 rho <- 1 theta […]

寻找近似重复logging的技术

我试图清理一个数据库,多年来,已经获得了许多重复logging,名称略有不同。 例如,在公司表中,有“Some Company Limited”和“Some Company LTD!”这样的名称。 我的计划是将违规表导出为R,将名称转换为小写,replace常见的同义词(如“limited” – >“ltd”), agrep非字母字符,然后使用agrep来查看相似的内容。 我的第一个问题是, agrep只接受一个匹配的模式,并且循环每个公司名称以匹配其他公司是慢的。 (有些表格需要清理,有几十个,可能有几十万个名字需要检查。) 我非常简单地看了一下tm包( JSS文章 ),它看起来非常强大,但是适用于分析大块文本,而不仅仅是名称。 我有几个相关的问题: tm包是否适合这类任务? 有更快的selectagrep ? (所述函数使用Levenshtein编辑距离,这是非常慢的)。 除了agrep和tm之外,R中还有其他合适的工具吗? 我甚至应该在R中这样做,还是应该直接在数据库中完成这种事情呢? (这是一个Access数据库,所以如果可能的话,我宁愿避免碰它。)

R随机森林variables重要性

我正在尝试在R中使用随机森林包进行分类。 列出的variables重要性措施是: 意味着等级0的variablesx的原始重要性分数 意思是等级1的variablesx的原始重要性分数 MeanDecreaseAccuracy MeanDecreaseGini 现在我知道这些“意思”是什么,因为我知道他们的定义。 我想知道的是如何使用它们。 我真正想知道的是,这些价值观的含义只在于它们的准确性如何,价值是什么,价值是什么,什么是最高和最低等等。 如果一个variables具有较高的MeanDecreaseAccuracy或MeanDecreaseGini ,那么这是否意味着它是重要的还是不重要的? 此外,关于原始分数的任何信息也可能有用。 我想知道所有关于这些数字的知识,这些数字与它们的应用有关。 使用“错误”,“求和”或“置换”这样的词语的解释将不那么有用,那么简单的解释就不会涉及随机森林如何工作的讨论。 就像我想让某人向我解释如何使用收音机一样,我也不会期望这个解释涉及到无线电如何将无线电波转化为声音。

在R中,具有与基本R函数同名的variables的问题到底是什么?

似乎通常认为使用具有相同名称的基数R中的函数的variables名称是不好的编程习惯。 例如,写下以下内容很诱人: data <- data.frame(…) df <- data.frame(…) 现在,函数data加载数据集,而函数df计算f密度函数。 同样,写这样的文章是很有诱惑力的: a <- 1 b <- 2 c <- 3 这被认为是不好的forms,因为函数c将结合它的论点。 但是:在R函数lm ,为了计算线性模型, data被用作参数。 换句话说, data在lm函数中变成一个显式variables。 所以:如果R核心团队可以为variables和函数使用相同的名称,那么我们是不是凡人呢? 答案不是R会混淆。 尝试下面的例子,我明确地分配一个名字为c的variables。 R不会因为variables和函数之间的差异而感到困惑: c("A", "B") [1] "A" "B" c <- c("Some text", "Second", "Third") c(1, 3, 5) [1] 1 3 5 c[3] [1] "Third" 问题:具有与基本R函数同名的variables的问题究竟是什么?

从R中提取POSIXct中的小时和秒作为绘图目的

假设我有以下data.frame foo start.time duration 1 2012-02-06 15:47:00 1 2 2012-02-06 15:02:00 2 3 2012-02-22 10:08:00 3 4 2012-02-22 09:32:00 4 5 2012-03-21 13:47:00 5 和class(foo$start.time)返回 [1] "POSIXct" "POSIXt" 我想创build一个foo$duration foo$start.time 。 在我的情况下,我只对一天的时间感兴趣,而不是一年中的实际一天。 如何从POSIXct类的向量中提取小时:秒的时间?

函数默认参数和命名值

比方说,我有一个R函数,其中参数可以是几个预定义的命名值(其中之一是默认值)或自定义字符向量之一。 我应该如何实现这一点,而不依靠魔术价值名称或其他标志? #allow use of predefined subsets or pass their own list bratPack<-function(members='CORE',…){ if (members=='CORE') members<-c('Emilio Estevez','Anthony Michael Hall','Rob Lowe','Andrew McCarthy','Demi Moore','Judd Nelson','Molly Ringwald','Ally Sheedy') else if (members=='ALL') members<-c('Emilio Estevez','Anthony Michael Hall','Rob Lowe','Andrew McCarthy','Demi Moore','Judd Nelson','Molly Ringwald','Ally Sheedy','James Spader','Robert Downey, Jr.','Jon Cryer', 'John Cusack', 'Kevin Bacon', 'Jami Gertz', 'Mary Stuart Masterson', 'Matthew Broderick', 'Sean Penn', […]

R:2个函数在两个不同的包中具有相同的名称

我需要加载到R包:T系列和时钟 两者都有一个名为is.weekend的函数 我总是在我的环境中从我加载的第二个包中获取函数。 我怎样才能访问总是function,比如说,chron?

在Sweave中是否有一个等同于\ Sexpr {}的R Markdown?

在\Sexpr{}使用R Markdown是否有相当于Sweave中的\Sexpr{} ?

ggplot2保持未使用的水平barplot

我想在我的条形图中绘制未使用的级别(也就是计数为0的级别),但是,未使用的级别会丢失,我无法弄清楚如何保留它们 df <- data.frame(type=c("A", "A", "A", "B", "B"), group=rep("group1", 5)) df$type <- factor(df$type, levels=c("A","B", "C")) ggplot(df, aes(x=group, fill=type)) + geom_bar() 在上面的例子中,我想看到C绘制计数为0,但它是完全没有… 感谢任何帮助Ulrik 编辑: 这是我想要的 df <- data.frame(type=c("A", "A", "A", "B", "B"), group=rep("group1", 5)) df1 <- data.frame(type=c("A", "A", "A", "B", "B", "A", "A", "C", "B", "B"), group=c(rep("group1", 5),rep("group2", 5))) df$type <- factor(df$type, levels=c("A","B", "C")) df1$type <- […]