我们如何在R中获取用户安装的软件包列表及其版本?
我知道有关installed.packages()所有包(基本或非基础)的信息的命令.但是我们如何才能让用户安装的东西具有这样的东西:
Package Version
X 3.01
Y 2.0.1
Z 1.0.2
Run Code Online (Sandbox Code Playgroud)
对于所有用户安装的软件包(即您安装的软件包install.packages("X"))
在R中,我想创建一个这样的5x5矩阵0,1,3,5,7:
0 1 3 5 7
1 0 3 5 7
1 3 0 5 7
1 3 5 0 7
1 3 5 7 0
Run Code Online (Sandbox Code Playgroud)
所以显然我可以生成起始矩阵:
z <- c(0,1,3,5,7)
matrix(z, ncol=5, nrow=5, byrow = TRUE)
Run Code Online (Sandbox Code Playgroud)
但我不确定如何改变其0立场.我确定我必须使用某种for/in循环,但我真的不知道我到底需要做什么.
我正在创建一个ggplot图表,我希望在两点之间有一些箭头.主要任务很容易完成geom_line(arrow = arrow()).但是,我想要一些"漂亮"的粗箭.调整箭头的大小size=没有用,因为它完全弄乱了箭头.我说明了我的问题:
创建一些示例数据和图:
NAME <- c("A", "A", "B", "B", "C", "C")
YEAR <- c(2016, 2011, 2016, 2011, 2016, 2011)
YEAR <- as.factor(YEAR)
VALUE <- c(1, 4, 1, 5, 2, 8)
DATA <- data.frame(NAME, YEAR, VALUE)
ggplot(DATA, aes(x=VALUE, y=NAME)) +
geom_point(size=5, aes(colour=YEAR)) +
geom_line(arrow = arrow(length=unit(0.30,"cm"), ends="first", type = "closed"))
Run Code Online (Sandbox Code Playgroud)
结果图看起来像这样:

现在我试图"加厚"箭头......
ggplot(DATA, aes(x=VALUE, y=NAME)) +
geom_point(size=5, aes(colour=YEAR)) +
geom_line(arrow = arrow(length=unit(0.30,"cm"), ends="first", type = "closed"), size = 3)
Run Code Online (Sandbox Code Playgroud)
这是这里显示的结果:

我的问题:有没有办法绘制一些"美丽的"粗箭?
我在两台机器和一台Linux服务器之间遇到了不一致的结果,直到我意识到修复种子有不同的效果.我R在所有这些中运行不同的版本,以上都是3.3.0.以下是示例:
Linux 1
> set.seed(10); rnorm(1)
[1] -0.4463588
> version
_
platform x86_64-pc-linux-gnu
arch x86_64
os linux-gnu
system x86_64, linux-gnu
status
major 3
minor 3.0
year 2016
month 05
day 03
svn rev 70573
language R
version.string R version 3.3.0 (2016-05-03)
nickname Supposedly Educational
Run Code Online (Sandbox Code Playgroud)
Linux 2
> set.seed(10); rnorm(1)
[1] 0.01874617
> version
_
platform x86_64-pc-linux-gnu
arch x86_64
os linux-gnu
system x86_64, linux-gnu
status
major 3
minor 4.2
year 2017
month 09
day 28
svn rev …Run Code Online (Sandbox Code Playgroud) 让
vetA <- c(1,2,1,2,1,3,4,1,2,3,2,1,4)
Run Code Online (Sandbox Code Playgroud)
有什么可能,所以我可以进行以下交换?交换:
-->3-->4-->2-->1我试过这个:
vetB <- as.factor(vetA)
levels(vetB) <- c(3,4,2,1)
vetA <- as.integer(vetB)
# because
print(vetB)
# [1] 3 4 3 4 3 2 1 3 4 2 4 3 1
#Levels: 3 4 2 1
Run Code Online (Sandbox Code Playgroud)
它没用.你能帮我个忙吗?
我想将大小的矩阵分成大小的k x l块,n x n考虑到一个问题o(就像Mathematica的分区函数那样).
例如,给定矩阵之A类的
A <- matrix(seq(1:16), nrow = 4, ncol = 4)
[,1] [,2] [,3] [,4]
[1,] 1 5 9 13
[2,] 2 6 10 14
[3,] 3 7 11 15
[4,] 4 8 12 16
Run Code Online (Sandbox Code Playgroud)
和块大小= 3,偏移= 1,我想要输出我得到的四个子矩阵
A[1:3, 1:3]
A[1:3, 2:4]
A[2:4, 1:3]
A[2:4, 2:4]
Run Code Online (Sandbox Code Playgroud)
如果offset等于2或3,则此示例的输出应该只是我得到的子矩阵
A[1:3, 1:3]
Run Code Online (Sandbox Code Playgroud)
我该如何对此进行矢量化?
说二进制矩阵m:
# [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
# [1,] 0 0 0 0 0 0 0 0 0
# [2,] 0 0 0 0 0 0 0 0 0
# [3,] 0 0 0 1 1 1 1 0 0
# [4,] 0 0 0 1 1 1 1 0 0
# [5,] 0 0 0 1 1 1 1 0 0
# [6,] 0 0 0 0 0 0 0 0 0
# …Run Code Online (Sandbox Code Playgroud) 比方说我有一个矢量,vec1另一个矢量命名vec2如下:
vec1 = c(4,1)
# [1] 4 1
vec2 = c(5,3,2)
# [1] 5 3 2
Run Code Online (Sandbox Code Playgroud)
是所有可能的组合是什么我正在寻找vec1和vec2而向量元素的顺序被保留.也就是说,结果矩阵应该是这样的:
> res
[,1] [,2] [,3] [,4] [,5]
[1,] 4 1 5 3 2
[2,] 4 5 1 3 2
[3,] 4 5 3 1 2
[4,] 4 5 3 2 1
[5,] 5 4 1 3 2
[6,] 5 4 3 1 2
[7,] 5 4 3 2 1
[8,] 5 3 4 1 2 …Run Code Online (Sandbox Code Playgroud) 使用时检索h1标题时rvest,我有时会遇到404页.这将停止该过程并返回此错误.
open.connection(x,"rb")出错:HTTP错误404.
请参阅下面的示例
Data<-data.frame(Pages=c(
"http://boingboing.net/2016/06/16/spam-king-sanford-wallace.html",
"http://boingboing.net/2016/06/16/omg-the-japanese-trump-commer.html",
"http://boingboing.net/2016/06/16/omar-mateen-posted-to-facebook.html",
"http://boingboing.net/2016/06/16/omar-mateen-posted-to-facdddebook.html"))
Run Code Online (Sandbox Code Playgroud)
用于检索h1的代码
library (rvest)
sapply(Data$Pages, function(url){
url %>%
as.character() %>%
read_html() %>%
html_nodes('h1') %>%
html_text()
})
Run Code Online (Sandbox Code Playgroud)
有没有办法包含一个参数来忽略错误并继续这个过程?
有没有人试过在 Power BI 的 R Script Visual 中使用Plotly或Highchart
当我在 R 脚本编辑器中尝试此操作并运行时:
library(ggplot2)
library(plotly)
x <- 1:5
y <- c(1, 3, 2, 3, 1)
plot_ly(x = dataset$period, y = dataset$mean, name = "spline", line = list(shape = "spline"))
Run Code Online (Sandbox Code Playgroud)
错误信息:
没有创建图像。R 代码不会导致创建任何视觉效果。确保您的 R 脚本生成 R 默认设备的绘图。
但在我的 R 桌面上运行完美。任何想法?