在进行循环的时候,经常需要把环境中的变量通过字符的形式提取出来并赋值给新的变量,涉及到环境变量和字符的转换问题。在R语言中,,可以通过 assign() 和 get() 这两个函数操作。
get :返回和字符串同名的变量的值
assign :将字符串变量的字符进行复制
get和assign是互为镜像的两个函数。
这样在环境中,就生成了100个变量,分别为 data_1到data_100。因此assign可以进行批量的赋值,并且有规律的控制变量名
比如我们需要把上面的data_1到data_100的变量存成rda
这样我们就把data开头的数据通循环的方式,写入到了rda的数据中。
https://zhuanlan.zhihu.com/p/30383865
方法不管是读取数据还是写入,R都是在工作路径中完成的。所以首先我们要知道我们的R所在的工作路径是在哪里。使用getwd()函数来获取我们的工作路径。
下面查看工作路径里面有哪些文件,使用dir()函数
如果你所想导入的数据并不在你当前的工作路径中,有两种方法可以解决。第一种就是把数据文件放到工作路径中,第二种方法就是更改工作路径。更改工作路径使用setwd()函数。比如你想要把工作路径设置成桌面
现在我读取我工作路径中,名字为hw1_data.csv的文件。使用read.csv()函数
也可以使用read.table()函数来读取csv格式的文件。由于csv文件的分隔符是“,”所以我们在用read.table()函数的时候,sep参数,我们要设定为sep=“,”
发现read.table()读出来的数据,列名并不是我们文件中的列名,而是V1,V2。。。我们需要加上header这个参数来修改这个问题
1.添加列名wts=c(1,1,1)
names(wts)=c("setosa","versicolor","virginica")
2.为矩阵添加列名和行名
wts=matrix(0,3,4)