窗格
选项
帮助
环境、历史和文件
类型值和数学公式R的命令提示符
1 + 1
# # 2 [1]
给符号(变量)赋值
x = 1 x + x
# # 2 [1]
调用函数,例如c ()
,它接受任意数量的值并返回单个值向量
x = c(1,2,3) x
## [1] 1 2 3
R功能,比如sqrt ()
,通常对向量操作效率
y =√x y
## [1] 1.000000 1.414214 1.732051
完成一项任务通常有几种方法R
x = c(1,2,3) x
## [1] 1 2 3
x <- c(4,5,6) x
## [1] 4 5 6
x <- 7:9 x
## [1] 7 8 9
10:12 -> x x
## [1] 10 11 12
有时R“惊喜”的事情会让你觉得有趣吗
x <- c(1,2,3) -> y x
## [1] 1 2 3
y
## [1] 1 2 3
原子的矢量
类型包括整数、数字(浮点数;真实)、复杂、逻辑、字符、原始(字节)
<- c(“Lori”,“Yubo”,“Greg”,“Nitesh”,“Valerie”,“Herve”)的人
##[1]“Lori”“Yubo”“Greg”“Nitesh”“Valerie”“Herve”
可以命名原子向量
人口<- c(水牛=259000,罗切斯特=210000,纽约=8400000)人口
## Buffalo Rochester纽约## 259000 210000 8400000
log10(人口)
## Buffalo Rochester纽约## 413300 5.322219 6.924279
统计概念NA
(不可用)
真实度<- c(TRUE, FALSE, NA)真实度
## [1] TRUE FALSE NA
像“和”这样的逻辑概念(&
)”或“(|
)和' not ' (!
)
!真实
## [1] FALSE TRUE NA
真实| !真实
## [1] TRUE TRUE NA
真实& !真实
## [1] FALSE FALSE NA
像无穷这样的数字概念(正
)或非a-number (南
,例如0 / 0)
undefined_numeric_values <- c(NA, 0/0, NaN, Inf, -Inf
## [1] NA NaN NaN Inf -Inf
√undefined_numeric_values
##在sqrt(undefined_numeric_values): NaNs产生
## [1] NA NaN NaN Inf NaN
常见的字符串操作
toupper(人)
##[1]“LORI”“YUBO”“GREG”“NITESH”“VALERIE”“HERVE”
substr(人,1,3)
##[1]“Lor”“Yub”“Gre”“Nit”“Val”“她”
R绿色消费者——回收短矢量与长矢量对齐
x <- 1:3 x * 2 # '2' (vector of length 1)回收到c(2,2,2)
## [1] 2 4 6
真实| NA
## [1] TRUE NA NA
真实和NA
## [1] NA FALSE NA
嵌套操作很常见,它可以同时紧凑、令人困惑和富有表现力((
:子集;<
:不到)
substr(低(人),1,3)
##[1]“lor”“yub”“gre”“nit”“val”“她”
人口(人口< 1000000)
## Buffalo Rochester ## 259000 210000
列表
列表类型可以包含其他向量,包括其他列表
友敌= list(friends=c(“Larry”,“Richard”,“Vivian”),enemy =c(“Dick”,“Mike”)
# # # #朋友美元[1]“拉里”“理查德”“维维安”# # # # # # $敌人[1]“迪克”“迈克”
(
将一个列表子集来创建另一个列表,[[
提取一个列表元素
友敌[1]
## $friends ##[1]“Larry”“Richard”“Vivian”
友敌[c(“敌人”、“朋友”)]
# # # # $敌人[1]“迪克”“迈克”# # # # # #朋友美元[1]“拉里”“理查德”“维维安”
友敌[["敌人"]]
##[1]“迪克”“迈克”
因素
类似字符的向量,但值限制在特定级别
性=因子(c(“男性”,“男性”,“女性”),等级=c(“女性”,“男性”,“雌雄同体”))性
##[1]男性男性女性级别:女性男性雌雄同体
性= =“女性”
## [1] FALSE FALSE TRUE
表(性)
##性## #雌性雄性雌雄同体# 1 2 0
性[性= =“女性”)
##[1]女性等级:女性男性雌雄同体
变量通常以一种高度结构化的方式相互关联,例如,电子表格中的两列数据
x = rnorm(1000) # 1000随机正常偏差y = x + rnorm(1000) #另1000偏差,作为x图(y ~ x) # x和y关系的函数
方便一起操作
data.frame ()
:就像电子表格中的列一样
df = data.frame(X= X, Y= Y) head(df) #前6行
## X Y ## 1 -0.02620772 -0.7851849 ## 2 -0.83792074 -0.7708075 ## 3 0.71796055 1.4443119 ## 4 0.41082851 0.9423263 ## 5 1.52124450 2.4959074 ## 6 0.78092746 1.8604425
plot(Y ~ X, df) #与上面相同
查看所有数据视图(df)
。总结数据总结(df)
总结(df)
## X Y ## Min.:-3.12004 Min.:-4.82077 ## 1st Qu.:-0.69927 1st Qu.:-1.05889 ## Median:-0.02087 Median:-0.08304 ## Mean:-0.02926 Mean:-0.06839 ## 3rd Qu.: 0.67452 3rd Qu.: 0.93681 ## Max: 3.28041马克斯。: 4.32132
易于以协调的方式操作数据,例如,访问列X
与美元
以及那些大于0的值的子集
positiveX = df[df$X > 0,]头(positiveX)
## X Y ## 3 0.7179606 1.4443119 ## 4 0.4108285 0.9423263 ## 5 1.5212445 2.4959074 ## 6 0.7809275 1.8604425 ## 8 0.2672106 -0.1912671 ## 11 2.8481030 3.0020837
plot(Y ~ X, positiveX)
R反省——问问它本身
类(df)
# #[1]“data.frame”
暗(df)
## [1] 1000
colnames (df)
## [1] "X" "Y"
矩阵()
一个相关的类,其中所有的元素都具有相同的类型(adata.frame ()
要求列内的元素为相同类型,但列间的元素可以为不同类型)。
散点图使人想要拟合线性模型(做回归分析)
变量在第二个参数中找到
配合<- lm(Y ~ X, df)
将这些点可视化,并添加回归线
plot(Y ~ X, df) abline(fit, col=“red”,lwd=3)
用方差分析表总结适合度
方差分析(适合)
##方差分析表## ## Response: Y ## Df Sum Sq Mean Sq F value Pr(>F) ## X 1 997.34 997.34 908.27 < 2.2e-16 *** ##残差998 1095.86 1.10 ##——## Signif。编码:0 '***' 0.001 '**' 0.01 '*' 0.05 '。“0.1”1
内省——什么是类适合
吗?什么方法我可以应用到这个类的对象吗?
类(适合)
# #[1]“lm”
方法(类=类(合适的))
## [1] add1 alias anova case.names coerce confint ## [7] cooks。距离偏差dfbeta dfbetas drop1假人。初始化kappa标签logLik模型。框架模型。矩阵## [25]nobs plot predict print proj qr ##[31]残差rstandard rstudent show simulate slotsFromS3 ## [37] summary variable.names vcov ## see '?用于访问帮助和源代码的方法
帮助中可用Rstudio或交互
请查看帮助页面rnorm ()
rnorm ?
“用法”部分描述如何使用该函数
rnorm(n, mean = 0, sd = 1)
参数,有些带有默认值。参数先按名称匹配,然后按位置匹配
' Arguments '部分描述了参数应该是什么
' Value '部分描述了返回值
“例子”部分说明了使用方法
经常包括对相关技术文档的引用,对相关功能的参考,模糊的细节
可能会令人生畏,但到最后呢非常有用的