本篇主要讲了R语言的几种类型,以及与数据之间的关系。
R: 4.3.2 (2023-10-31)
R studio: 2023.12.1+402 (2023.12.1+402)
一、Basic objects
vectors
一维数据集,常用于number, boolean, string, etc.
| |
| |
| |
注⚠️:由此可以看出一个特点,若两个vec计算,元素数量不相同时,会反复使用元素少的vec。(很像是矩阵的计算?(谁说vec不是一维矩阵呢?
比如上面的x只有4个元素,而x2有8个元素,所以x的元素使用了两次。
注⚠️:除了cos外,常用的数学函数还有:
| 函数 | 描述 |
|---|---|
| exp(x) | 计算e的x次幂。 |
| log(x) | 计算x的自然对数。 |
| log10(x) | 计算x的以10为底的对数。 |
| log2(x) | 计算x的以2为底的对数。 |
| sqrt(x) | 计算x的平方根。 |
| ^ 或 ** | 进行幂运算,例如x^2 或 x**2表示x的平方。 |
| sin(x) | 计算x的正弦值。 |
| cos(x) | 计算x的余弦值。 |
| tan(x) | 计算x的正切值。 |
| asin(x) | 计算x的反正弦值。 |
| acos(x) | 计算x的反余弦值。 |
| atan(x) | 计算x的反正切值。 |
| sinh(x) | 计算x的双曲正弦值。 |
| cosh(x) | 计算x的双曲余弦值。 |
| tanh(x) | 计算x的双曲正切值。 |
| ceiling(x) | 对x进行向上取整。 |
| floor(x) | 对x进行向下取整。 |
| abs(x) | 计算x的绝对值。 |
| factorial(x) | 计算x的阶乘。 |
| %% | 计算x除以y的余数,例如5 %% 2等于1。 |
More on Vectors and Indexing
子集
| |
Missing and interesting values - NA
重要的NA
| |
Lists
多维的数据集合
| |
Data frame
即为矩阵
| |
注⚠️:何为factor?
个人理解类似于“枚举”,有限集合。
| |
注⚠️:从data frame中筛选数据,如果是单个元素,返回值类型为元素数量为1的vec;如果是一行或者一列,则为vec;如果是多行或者多列,则为一个新的data frame。
| |
cor()函数
用于计算相关系数的函数之一。相关系数是衡量两个变量之间线性关系强度和方向的统计量,通常用于探索变量之间的相关性。
| |
参数
x: 一个数值向量、矩阵或数据框,或者是一个因子。
y: (可选)一个数值向量、矩阵或数据框,或者是一个因子。如果指定了 y,则会计算 x 和 y 之间的相关系数;如果未指定 y,则会计算 x 中各个变量之间的相关系数。
method: (可选)指定计算相关系数的方法,可选值为 “pearson”(皮尔逊相关系数,默认)、“kendall”(肯德尔相关系数)和 “spearman”(斯皮尔曼相关系数)。
use: (可选)指定如何处理缺失值的参数,可选值包括 “everything”(默认,对所有数据点进行计算)、“all.obs”(对所有非缺失数据点进行计算)、“complete.obs”(对完全没有缺失值的数据点进行计算)、“na.or.complete”(对有缺失值但至少有一对完整观测值的数据点进行计算)。
返回值
返回一个相关系数矩阵,其中包含了各个变量之间的相关系数。
示例
假设有一个数据框 df 包含了两个数值变量 x 和 y
| |
将输出两个变量 x 和 y 之间的皮尔逊相关系数。
皮尔逊相关系数(Pearson correlation coefficient)
是一种用来衡量两个变量之间线性关系强度和方向的统计量。它衡量的是两个变量之间的线性相关程度,取值范围在-1到1之间。
特点:
当 r=1 时,表示两个变量完全正相关,即一个变量增大时,另一个变量也增大,呈线性关系;
当 r=-1 时,表示两个变量完全负相关,即一个变量增大时,另一个变量减小,也呈线性关系;
当 r=0 时,表示两个变量之间没有线性关系,但并不代表两个变量之间没有其他类型的关系。
解释:
如果 r 的值接近于1或-1,表示两个变量之间有很强的线性关系,相关性较高;
如果 r 的值接近于0,表示两个变量之间的线性关系很弱,相关性较低。
适用范围:
皮尔逊相关系数要求两个变量的数据是连续变量;
它要求变量之间的关系是线性的。
注意事项:
皮尔逊相关系数只能衡量两个变量之间的线性关系,对于非线性关系不敏感;
相关系数不能说明因果关系,只能说明两个变量之间的相关性。
在实际数据分析中,皮尔逊相关系数经常用于探索变量之间的关系,特别是在探索两个连续变量之间的关系时,它是一个非常有用的工具。
Saving, loading, and importing data
save and reload
| |
| |
注⚠️: save()和save.image()都是保存到文件;save()只保存指定的元素;save.image()保存所有的对象和数据。 load()加载.RData时,会把文件中保存的内存对象,覆盖掉当前内存中的
import
excel
| |
csv
| |
function
| |
注⚠️:其他的一些数学函数
| 函数 | 描述 |
|---|---|
| mean() | 计算向量或数据框列的均值。 |
| median() | 计算向量或数据框列的中位数。 |
| min() | 计算向量或数据框列的最小值。 |
| max() | 计算向量或数据框列的最大值。 |
| quantile() | 计算向量或数据框列的四分位数。 |
| cv() 或 coefficient_of_variation() | 计算向量或数据框列的变异系数。 |
| sd() | 计算向量或数据框列的标准差。 |
| var() | 计算向量或数据框列的方差。 |
| stderr() | 计算向量或数据框列的标准误差。 |
| cumsum() | 计算向量中元素的累计和。 |
| cumprod() | 计算向量中元素的累计积。 |
| sort() | 对向量或数据框列进行排序。 |
| rank() | 计算向量或数据框列中元素的排名。 |
| sum() | 计算向量或数据框列的总和。 |
| prod() | 计算向量或数据框列的乘积。 |
| cor()、cov() | 分别计算相关系数和协方差矩阵。 |
| scale() | 对向量或数据框列进行标准化。 |
clean up
| |
二、week1 code
| |