- 判断Rdata中有哪些变量
tempEnv = new.env() # 新建一个新的变量环境
load('xx.RData', envir = tempEnv)
ls(envir = tempEnv)
rm(tempEnv)
read.csv()
read.csv('xx.csv', row.names = 1, check.names = F)
#1| row.names可以是一个储存有行名的`向量`,也可以是代表文件中的第几列将被作为行名的`数字`,或者是代表行名的列名称的`字符串`。
#1| 如果header = T,并且第一行(标题行)包含的字段少于总列数(即标题行长度短于其他行长度),且第1列无重复值,则使第1列为行名。否则,如果row.name未指定,则对行进行编号。使用row.names = NULL 强制对行进行编号。
#2| check.names = T时,检查数据框中变量的名称,确保其有效且不重复(通过`make.names`函数)
# 对于row.names的活用(可能是非标准方法)
# `rod.csv`因为第一列含有重复值,导致row.names = 1报错,因此试图通过make.names函数转换第一列的重复值。
# A B
# 1 a 1
# 2 a 2
# 3 b 3
# 4 b 4
rod = read.csv('rod.csv', header = T)
rowName = make.names(rod[,1], unique = T) #生成唯一行名(与check.names=T效果类似)
rod2 = read.csv('rod.csv', header = T, row.names = rowName)
identical(a, b)
:判断两个变量是否相同。对数字的比较默认等同于==
。all.equal(a, b)
:用作近似数值比较,以排除二进制小数运算导致的微小误差。all.equal(0.1 * 3, 0.3) # True 0.1 * 3 == 0.3 # False