R语言初学笔记3
2015-12-17 09:46
232 查看
得空,那边R在处理些数据,估计得要一天左右时间,不得不喷下R的循环for语句,慢!
言归正传,下面说下我这段时间遇到的问题,解决方法。
1.R语言添加列名
data是你需要修改列名的数据,若是多个列名,则需要c()
2.R语言 修改单个列名
有时候,可能只需要修改单个列名,如果采用上面这种方法则太费事,可以使用:
3.填补缺失值
4.R语言求平均数(每行,每列)
例如:
data:
1 1 4
3 4 7
,data 为2*3的数据,求每列和,你可以使用
你也可以使用apply家族函数
求每行的和
求每列的和
其中1表示行,2表示列,比sum简便多了吧,sum可以改成mean等函数,具体的可以help(“function”)一下,其中function为你需要查找的函数
5.R语言 查找满足条件的数据
目前为止,我采用的是which语句
意思是查找mdd数据中user_id等于14581的数据,这里返回的是一组行编号
1 2 5 6 7 8 等等,你可以采取嵌套的方法直接获取每行的数据
这里就是得到user_id为14581的所有数据了
6.R语言 随机抽取样本
意思为 从mydata 5400个样本数据中,随机抽取10个样本
7.R语言 求交集 并集 等
8.R语言 返回多个结果
此处返回a这个list,你也可以采用unlist t(转置) 等操作转换到你需要的格式
9.R语言 排序
例如:
当然,你也可以使用sort(d1) 可以达到同样的效果,而且sort函数还有一个好处,就是返回下标
10.R语言 去除科学计数法 保留小数位
11.R语言 中文乱码问题
Rstudio中文乱码 file–reopen with encoding 再选择utf-8就ok了
这是我遇到的一个问题,查找相关资料得到问题所在:向量中包含过多NA,非NA数量少于3个,如果你出现此类情况,请先检查一下向量。
言归正传,下面说下我这段时间遇到的问题,解决方法。
1.R语言添加列名
[code]colnames(data)=c("xx","oo","pp")
data是你需要修改列名的数据,若是多个列名,则需要c()
2.R语言 修改单个列名
有时候,可能只需要修改单个列名,如果采用上面这种方法则太费事,可以使用:
names(data)[col_num] <- "m",意思是将data数据的第col_num个列名修改为m
3.填补缺失值
mdd[is.na(mdd)]<- 0,将mdd数据中所有为NA的值替换为0,NA是一个逻辑值,不可使用==作为判断依据
4.R语言求平均数(每行,每列)
例如:
data:
1 1 4
3 4 7
,data 为2*3的数据,求每列和,你可以使用
sum(data[,i]),求行
sum(data[i,]),其中i表示数字.
你也可以使用apply家族函数
求每行的和
[code]apply(data,1,sum)
求每列的和
[code]apply(data,2,sum)
其中1表示行,2表示列,比sum简便多了吧,sum可以改成mean等函数,具体的可以help(“function”)一下,其中function为你需要查找的函数
5.R语言 查找满足条件的数据
目前为止,我采用的是which语句
[code]which(mdd$user_id==14581)
意思是查找mdd数据中user_id等于14581的数据,这里返回的是一组行编号
1 2 5 6 7 8 等等,你可以采取嵌套的方法直接获取每行的数据
[code]mdd[which(mdd$user_id==14581),]
这里就是得到user_id为14581的所有数据了
6.R语言 随机抽取样本
[code]mydata[sample[5400,10],]
意思为 从mydata 5400个样本数据中,随机抽取10个样本
7.R语言 求交集 并集 等
[code]intersect(u1,u2) 求u1u2交集 union(u1,u2)求u1 u2并集 unique(u1) 求u1中不重复的元素 例如:1 1 2 3 3 3 会得到1 2 3
8.R语言 返回多个结果
[code]t = array() for(i in 1:3){ t[i]=i a = list(t) } return (a)
此处返回a这个list,你也可以采用unlist t(转置) 等操作转换到你需要的格式
9.R语言 排序
例如:
[code]d1 <- c(2,3,8,4,5,6) d1[order(d1)] [1] 2 3 4 5 6 8
当然,你也可以使用sort(d1) 可以达到同样的效果,而且sort函数还有一个好处,就是返回下标
sort(d1,index.return =TRUE)
10.R语言 去除科学计数法 保留小数位
[code] options(scipen=3) options(digits=3)
11.R语言 中文乱码问题
Rstudio中文乱码 file–reopen with encoding 再选择utf-8就ok了
[code]"Not enough finite obervations" is an error returned by cor.test under certain circumstances. If you take a look a the cor.test.default source code, you'll see : OK <- complete.cases(x, y) x <- x[OK] y <- y[OK] n <- length(x) cor.test removes NA values from you vectors [...] if (method = "pearson") { if (n < 3L) stop("not enough finite obervations") [...] else { if (n<2) stop("not enough finite obervations") If your vectors do not contain enough non-NA values (less than 3), the function will return the error. Make all of the columns in your dataframe contain enough non-NA values before you use cor.test. I hope this will be useful.
这是我遇到的一个问题,查找相关资料得到问题所在:向量中包含过多NA,非NA数量少于3个,如果你出现此类情况,请先检查一下向量。
[code] 若有问题,请指出,谢谢!
相关文章推荐
- java 依赖jar包如何使用
- Sqlite3开发
- BlocksKit初见:一个支持将delegate转换成block的Cocoa库
- Linux dd 命令
- AngularJs ui-router 路由的介绍
- 将 Ceph 存储集群集成到 OpenStack 云中
- 强大的flash头像编辑上传插件(已更新至2.3)
- 对Hibernate中的事务理解
- maven基础
- meta name="renderer" 控制默认浏览器内核
- package.json 配置说明
- 关于多个datatable合并到一个dataset
- $(document).ready(function(){}),$().ready(function(){})和$(function(){})三个有区别么
- MMTx使用说明
- 代码规范学习笔记
- 1864: [Zjoi2006]三色二叉树
- JMeter基础--逻辑控制器Logic Controller
- spring-security-oauth2服务端和client端入门01--代码编译及服务启动
- Java中事件分发线程
- 将一个字串中含有全角的数字字符、字母、空格或'%+-()'字符转换为相应半角字符