R操作

1.寻找众数

# 我们想返回出现次数最多的字符"a"
mystring <- c("a", "a", "b", "c")
mode_string <- names(which.max(table(a)))

2.按照一组数的大小选择第n位的数据

mydata <- c(1, 2, 3, 4, 5)
mydata_max <- sort(mydata, decreasing=T)[length(mydata)][1] # 最大值
mydata_2nd <- sort(mydata, decreasing=T)[length(mydata)][2] # 第2大值,如果没有重复值
mydata_min <- sort(mydata, decreasing=T)[length(mydata)][length(mydata)] # 最小值

3.按照顺序添加序号

# 假设data.frame为mydata
mydata %>%
group_by(name) %>%
mutate(testing=1:length(name))
# 效果如下所示
name score testing
ERIC 100 1
ERIC 99 2
ERIC 98 3
SALLY 100 1
SALLY 99 2
SALLY 98 3

4.group_by() 后需要 ungroup();

# dplyr包
group_by() %>%
mutate() %>%
summarise() %>%
ungroup()

5.group_by + filter:直接筛选符合条件的分组

# 假设mydata为data.frame,包含name, score, testing字段,见3
mydata %>%
group_by(name) %>%
# 选择最高分数的信息
filter(score==sort(score, decreasing=T)[1]) %>%
ungroup()

6.建立空数据框

df <- data.frame(Doubles=double(),
                 Ints=integer(),
                 Factors=factor(),
                 Logicals=logical(),
                 Characters=character(),
                 stringsAsFactors=FALSE)
 
str(df)
> str(df)
'data.frame':   0 obs. of  5 variables:
 $ Doubles   : num
 $ Ints      : int
 $ Factors   : Factor w/ 0 levels:
 $ Logicals  : logi
$ Characters: chr
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 11,220评论 6 13
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,785评论 18 399
  • 一. Java基础部分.................................................
    wy_sure阅读 3,846评论 0 11
  • 1. SQL 简介 SQL 的目标 理想情况下,数据库语言应允许用户: 建立数据库和关系结构 完成基本数据管理任务...
    板蓝根plank阅读 2,392评论 0 11
  • ______标题带了引号,是因为并不是真的丧偶。 只是在这短暂的两年婚姻生活里,有时候情况的确如此。 现在真的很赞...
    梓辰冰昕阅读 195评论 0 1