Linux 下编译R源代码并安装

本文介绍了在Linux环境下,当系统自带的R版本过旧,与其它程序不兼容时,如何手动编译R的源代码进行安装。详细步骤包括安装依赖库,如zlib、bzip2、xz、pcre、openssl和curl,以及更新链接库和PATH路径,最后成功安装R-3.3.1并进行测试。
摘要由CSDN通过智能技术生成

我的第二份工作已经开始有一段时间了,一直想停下来写一些和大数据相关的东西,来记录我们现在开始做的事情。
终于,静下心来,整理一下最近做过的事情。
第一篇,先介绍一下R的安装过程。

R,作为数据计算和统计的经典工具,很多行业的数据分析和挖掘都跟它息息相关。熟悉R,对传统行业的数据的体量和分析会有一个初步的认识。
了解R,我们先从安装它开始。
Windows和Mac下有专门的安装程序,可以从https://www.r-project.org/, 可以直接安装。
Linux下也可以通过相应的yum或者apt-get进行安装。
然而,有些情况下,如Linux软件中心带的R程序如果太old,无法与其它的程序比如Scala或者Java兼容,则需要手工编译源码进行安装。这种繁琐的环节最好不要遇上,否则会比较��,此文用来纪念这个过程。
R程序本身有很多依赖,建议参考本文先把依赖都装上去,然后再build R源程序。或者也可以直接编译R源代码,需要什么依赖安装什么依赖。

yum install -y readline-devel gcc*
yum install libXt-devel -y
1.zlib
wget http://ncu.dl.sourceforge.net/project/libpng/zlib/1.2.8/zlib-1.2.8.tar.gz

33DAI手头有一根长度为 \(2^n\) 米的绳子,他想要用它围成一个边长均为整数的矩形,目标是让这个矩形的面积落在区间 \([L, R]\) 内,包括边界值 \(L\) 和 \(R\)。在 C++ 中,为了实现这个问题,你可以采用二分查找的方法来找寻符合条件的最大和最小矩形尺寸。 首先,你需要确定最小的边长 \(a\),因为两个相同的边长将浪费一半的绳子长度,而另一个边长则可以是从 \(1\) 到 \(2^n - a\) 的整数范围。然后,你可以计算以 \(a\) 作为宽度,从 \(1\) 开始递增直到 \(2^n - a\) 作为长度的矩形面积,如果发现某个面积大于等于 \(L\) 而小于等于 \(R\),那么找到了一个满足条件的组合。 以下是伪代码和思路描述: ```cpp int n = log2(ring_length); // 计算绳子的位数,即2^n int min_side = 1; // 最小边长为1 // 使用二分查找寻找最大边长 while (min_side * (ring_length / min_side) < L) { min_side++; } while (min_side > 1 && ring_length / min_side + min_side <= R) { // 只考虑有效区域 int area = min_side * (ring_length / min_side); if (area >= L && area <= R) { // 找到满足条件的矩形尺寸 break; } else if (area > R) { min_side--; } else { ring_length -= min_side; // 更新剩余绳子长度 min_side++; // 继续扩大较小的边 } } if (area == 0) { // 如果找不到合适的矩形,说明无法围出这样的矩形 cout << "No valid rectangle with the given constraints." << endl; } else { // 输出矩形的边长或面积 cout << "The optimal dimensions are width: " << min_side << ", length: " << ring_length / min_side << ", and area: " << area << endl; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值