我正在运行Ubuntu 16.04 [现在是17.04:参见下面的粗体注释]和R 3.4.1.我今天早上安装了后者,所以我认为这是最新版本.我想安装Tidyverse,我在Windows下度过了很多欢乐时光.但是当我这样做时install.packages("tidyverse"),我得到了关于gcc无法识别的命令行选项的错误.当安装命中颜色空间和munsell包时,这些开始.我将在这篇文章的最后给出一个例子,仅供munsell使用.
我没有在Ubuntu 16.04上找到其他任何人确切存在这个问题的人.但来自有类似问题的人的帖子表明我的gcc可能是一个太旧的版本,无法识别选项-fstack-protector-strong和-Wdate-time.
我想到的可能的解决方法:
1)将Ubuntu更新为16.10或17.04,希望其中一个具有合适的gcc.但是,我在这里缺乏Ubuntu的专业知识:特别是,似乎我必须升级两次,一次升级到16.10再升级到17.04.我甚至无法将系统升级到16.10:https ://wiki.ubuntu.com/YakketyYak/ReleaseNotes ,"从Ubuntu 16.04 LTS升级"中建议的步骤,在我尝试时找不到升级.另外,我不确定这些Ubuntus中是否有正确的gcc.
第二天添加:虽然我尝试通过https://wiki.ubuntu.com/YakketyYak/ReleaseNotes升级Ubuntu 昨天没有做任何事情,但他们今天确实工作了.也许是一个缓存问题?所以我现在有Ubuntu 17.04.但是,在尝试安装Tidyverse时,我仍然会遇到相同的错误.
2)找到不需要那些编译器选项的旧版Tidyverse.
3)升级我的Ubuntu的gcc.但是我不知道是否会在我的机器上使用其他需要较旧gcc的软件.
4)为Tidyverse安装一个新的gcc,并以某种方式使用路径来欺骗安装程序调用它,可能遵循https://askubuntu.com/questions/466651/how-do-i-use-the中的建议-latest-gcc-on-ubuntu.但这听起来很危险.
5)废弃Ubuntu并在Windows上完成我的所有工作.我知道人们会嘲笑"Micro $ oft",但至少在Windows上,我不会浪费一个早晨的Linux arcana并且可以完成我的工作,这就是R.这种感觉太过于像牧师在https中的咒语://people.dsv.su.se/~jpalme/s1/hoare.pdf, "软件设计:一个寓言".只是说......
来自使用这些版本的R和Ubuntu实际执行此操作的人的任何建议?
这是一个失败的安装:
`> install.packages("munsell")
Installing package into ‘/home/popx/R/x86_64-pc-linux-gnu-library/3.4’
(as ‘lib’ is unspecified)
also installing the dependency ‘colorspace’
trying URL 'https://cran.rstudio.com/src/contrib/colorspace_1.3-2.tar.gz'
Content type 'application/x-gzip' length 293433 bytes (286 KB)
==================================================
downloaded 286 KB
trying URL 'https://cran.rstudio.com/src/contrib/munsell_0.4.3.tar.gz'
Content type 'application/x-gzip' length 97244 bytes (94 KB) … 我正在使用来自ggplot2,'diamond'数据的着名数据集来练习dplyr包.我试图计算按变量'cut'分组的钻石的平均'价格'.我的代码如下.
price.cut <- diamonds %>%
group_by(cut) %>%
summarize(Mean = mean(price, na.rm=TRUE))
Run Code Online (Sandbox Code Playgroud)
我的期望是通过'cut'变量得到平均价格.但是,我只得到一个价值,即价格的总平均值.
>price.cut
Mean
1 3932.8
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
我想在我的ubuntu机器(corgy工具)上运行用python编写的第三部分工具.
但是我不知道如何在Python路径中添加其他模块.
cat doc/download.rst
There is currently no setup.py, so you need to manually add
the download directory to your PYTHON_PATH environment variable.
Run Code Online (Sandbox Code Playgroud)
如何将目录添加到PYTHON_PATH?
我试过了:
export PYTHON_PATH=/home/user/directory:$PYTHON_PATH && source .bashrc
export PATH=/home/user/directory:$PATH && source .bashrc
python
import sys
sys.path.append("/home/user/directory/")
但是,当我尝试运行此工具时,我得到:
Traceback (most recent call last):
File "examples/dotbracket_to_bulge_graph.py", line 4, in <module>
import corgy.graph.bulge_graph as cgb
ImportError: No module named corgy.graph.bulge_graph
Run Code Online (Sandbox Code Playgroud) 我在列表中有data.frames,通常,当我想要居中数据时,我使用循环(如下例所示).我想使用"apply"系列的一些功能,但我无法弄清楚如何编写代码.
我的数据的一个例子:
env <- list (data.frame(a=c(-1.08, -1.07, -1.07),
b=c( 4.61, 4.59, 4.59),
c=c( 3.46, 3.56, 3.52)),
data.frame(a=c( 3.93, 3.94, 3.92),
b=c(-6.69, -6.72, -6.68),
c=c( 3.04, 3.08, 3.03)))
Run Code Online (Sandbox Code Playgroud)
我将使用这些值来使它们居中:
d <- c(a=10.20, b=-10.91, c=11.89)
Run Code Online (Sandbox Code Playgroud)
我经常使用的循环类型:
for(i in 1:length(env)) {
env[[i]][, 1] <- env[[i]][, 1] - d[1]
env[[i]][, 2] <- env[[i]][, 2] - d[2]
env[[i]][, 3] <- env[[i]][, 3] - d[3]
}
Run Code Online (Sandbox Code Playgroud)
有没有办法使用"apply"系列的函数来完成我在上面循环中所做的同样的事情?
我的文件看起来像这样:
1 chrX_73833098_73834098
1 chrX_73889652_73890652
1 chrX_91194501_91195501
1 chrX_92000157_92001157
1 chrX_92106500_92107500
Run Code Online (Sandbox Code Playgroud)
我想将第一个字符"1"替换为0.通缉输出是:
0 chrX_73833098_73834098
0 chrX_73889652_73890652
0 chrX_91194501_91195501
0 chrX_92000157_92001157
0 chrX_92106500_92107500
Run Code Online (Sandbox Code Playgroud)
试着这样做:
sed 's/^./0/g' file
Run Code Online (Sandbox Code Playgroud)
但输出是:
0 1 chrX_73833098_73834098
0 1 chrX_73889652_73890652
0 1 chrX_91194501_91195501
0 1 chrX_92000157_92001157
0 1 chrX_92106500_92107500
Run Code Online (Sandbox Code Playgroud)
我相信有一个简单的方法来解决它,但我不知道.
我在加载文件时遇到困难,因此不会丢失文件.所以我在这里:
> mood_data <- read.table("http://www.psychology.mcmaster.ca/bennett/psy710/datasets/mood_data.Rdata")
Run Code Online (Sandbox Code Playgroud)
如果我这样做,它只会给我一行中无组织的所有信息.我也尝试过:
> mood_data <- url("http://www.psychology.mcmaster.ca/bennett/psy710/datasets/mood_data.Rdata")
> load(mood_data)
Run Code Online (Sandbox Code Playgroud)
如果我这样做,我会得到这些对我没有任何意义的奇怪的东西.
我创建了一个包含一些闪亮内容的markdown文件.当我运行当前的块代码时,应用程序工作得很好.但是,当我尝试编织代码块时,它会给出以下错误:
Shiny applications not supported in static R Markdown documents.
Run Code Online (Sandbox Code Playgroud)
无论如何,我可以编织这个代码.
在某些网站上,我也读到了以下内容
```{r, echo=FALSE}
library(shiny)
shinyAppDir(
system.file("examples/06_tabsets", package = "shiny"),
options = list(
width = "100%", height = 550
)
)
```
Run Code Online (Sandbox Code Playgroud)
但是,当我编织这个时,同样的事情发生了.有没有办法从闪亮的应用程序中获取html输出.
我想下载和gunzip文件.
wget ftp://ftp.direcory/file.gz
gunzip file.gz
Run Code Online (Sandbox Code Playgroud)
工作良好.
但是我想简化这样的命令并尝试这个:
gunzip <(wget ftp://ftp.direcory/file.gz)
Run Code Online (Sandbox Code Playgroud)
wget下载文件,但gunzip任务无法启动.
我的错误在哪里?
我的问题是我想像dplyr一样左边加入:
x <- left.join(TableA, TableB)
Run Code Online (Sandbox Code Playgroud)
如何从TableB中仅提取特定字段?想象一下,TableB有3个字段x,y,z,我只想在TableA中使用x
有没有人知道如何根据事件的发生使用ggplot2和绘制内核密度图sf?
例如,考虑包中的meuse数据集sp(假设每个点都是一个事件发生)
library(sf)
library(ggplot2)
# data
data(meuse, package = "sp")
# as_sf
meuse_sf <- st_as_sf(meuse, coords = c("x", "y"), crs = 28992)
# example
ggplot(data = meuse_sf) +
geom_sf(alpha = .3) +
theme_bw()
Run Code Online (Sandbox Code Playgroud)
我想使用 geom_sf 创建一个二维内核密度。
Ps:使用起来很容易stat_density_2d,但是我正在处理空间数据并且它有一个多边形边框。