R语言备忘录

Posted 无安书

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R语言备忘录相关的知识,希望对你有一定的参考价值。


大概这次的内容,是今后将会持续更新的。备忘录,仅仅是为了把一些细节性的函数以及代码使用方法,阐述清楚,仅此而已。



于数据创建:

事实上,c() 函数的方法最为普遍,这也是目前最主要的创建方式。但我们往往会忽略一个问题:如何创建指定长度以及指定数据类型的变量?

> a <- vector('integer',5)
> a
[10 0 0 0 0

这个问题,vector() 函数已经给出了明确的答案。只不过,正常情况下使用较少。并且,提前指定变量中数据储存内容,在 R 语言的世界中,已经变得不那么重要了。

另一个经典的函数:

> numeric(5)
[10 0 0 0 0

相对而言,后者更实用,更简便。

而提前创建:matrix ,则需要:

> matrix(0,nrow = 5,ncol = 3)
     [,1] [,2] [,3]
[1,]    0    0    0
[2,]    0    0    0
[3,]    0    0    0
[4,]    0    0    0
[5,]    0    0    0

以及 list:

b <- list()
b[1] <- 4
b[[2]] <- 'f'
#--------------------------
b1 <- vector('list',5)

list 的创建方式,主要见于以上两种。前者无法指定长度,后者,常用于提前指定长度。



> d <- data.frame()
> d
data frame with 0 columns and 0 rows

事实上,可以创建空的数据框!但这并不实用。

通常,会利用填充的 matrix 或者是 list 来转为 data.frame, 这一步非常重要,在之前的 正交实验数据处理的方法设计中,有所应用。


关于横向创建数据:

tribble(~x, ~m, ~l,
        'a',36,
        'b',78,
        'd',7,0)

tibble 包的 tribble() 函数,提供了横向创建数据的方法,第一行确定列名称,之后的部分则更像在表格中输入数据。

而传统函数中:

"
x m l
a  3 6
b  7 8
d 7  0 
"
   %>% read.table(text = .,header = T) -> d2

查看各列的数据类型:

> str(d2)
'data.frame'3 obs. of  3 variables:
 $ x: chr  "a" "b" "d"
 $ m: int  3 7 7
 $ l: int  6 8 0

事实上,还可以通过添加:colClasses 参数来控制各列的类型。见于:《》 类似的, scan() 也可以读取字符串类型,来生成变量。


事实上上述的方式,多用于替代读取粘贴板信息。对于代码重复运行而言,读取粘贴板信息,是一个无法重复运行的操作。特别是:scan(), read.delim() 多用于读取粘贴板信息,但这一步无法继续被多次重复运行,一旦粘贴板上信息改变,就会造成代码重复运行后出错。

因此,对于代码重复运行操作而言,必须规避:

1/  读取粘贴板操作

2/  选择文件时,使用:file.choose() 

3/  利用 edit(), fix() 等对数据的修改

---end---

以上是关于R语言备忘录的主要内容,如果未能解决你的问题,请参考以下文章

R语言备忘录

R语言备忘录

Flutter 布局备忘录

在R Markdown中创建备忘录

vs code 自定义代码片段

r R有用的代码片段