r语言note_xmind

R

删除空间已有值

rm(list=ls())

变量重新编码

df a g e [ d f age[df age[dfage>75]<-“Elder”

缺失值

is.na()

newdata <- na.omit(df)

列重命名

names(df)[2]<-‘testdate’


dplyr

转换

  • ds<-tbl_df(mtcars)
  • df<-as.data.frame(ds)
  • tbl_df()可用于将过长过大的数据集转换为显示更友好的 tbl_df 类型。使用dplyr包处理数据前,建议先将数据集转换为tbl对象。

filter

  • filter() 和slice()函数可以按给定的逻辑条件筛选出符合要求的子数据集, 类似于 base::subset() 函数,但代码更加简洁, 同时也支持对同一对象的任意个条件组合(表示AND时要使用&或者直接使用逗号),返回与.data相同类型的对象。原数据集行名称会被过滤掉。
  • filter(mtcars,cyl<5 &vs==1)
  • filter(mtcars,cyl %in%c(4,6)) #cyl=4 6的行
  • slice(mtcars, 5:n()) #第5行到最后一行
  • mydata11 <- filter(mydata, Index %in% c(“A”, “C”)) #%in%运算符可用于选择多个项目。 在下面的程序中,我们告诉R选择Index列中的’A’和’C’行。
  • mydata14 <- filter(mydata, grepl(“Ar”, State)) #grepl 在state列中搜索包含“Ar”

arrange()

  • arrange(mtcars,cyl,disp)
  • 类似order()
  • arrange(mtcars,desc(disp))

selet()

  • select(iris,start_with(“petal”))
  • select(iris,-start_with(“petal”))
  • 包括starts_with,ends_with,contains,matches,one_of,num_range和everything等,筛选列

mutate()

  • Subtopic 1
  • mutate()和transmute()函数对已有列进行数据运算并添加为新列,类似于base::transform() 函数, 不同的是可以在同一语句中对刚增添加的列进行操作。mutate()返回的结果集会保留原有变量,transmute()只返回扩展的新变量。原数据集行名称会被过滤掉。 增加列
  • mutate(mtcars,wt_kg=wt*453.592,wt_t=wt_kg/1000)

distinct()

  • 去重 类似unique()
  • distinct(df,df c 1 , d f c1,df c1,dfc2,.keep_all=T)

sample_n()

  • sample_n(mtcars,10,replace=TRUE) #有重复的取50行
  • sample_frac(mtcars,0.1) # 无重复 取0.1数据

group_by()

  • by_cyl<-group_by(mtcars,cyl)

summarise()

  • summarise(mtcars, max(disp), min(disp))
  • summarise_at(mydata, vars(Y2005, Y2006), funs(n(), mean, median))
  • summarise_if(mydata, is.numeric, funs(n(),mean,median))
  • summarise_all(mydata[“Index”], funs(nlevels(.), nmiss=sum(is.na(.)))) #检查分类(因子)变量中的级别/类别数量和缺失观察数量。
t <- summarise_at(group_by(mydata, Index), vars(Y2011, Y2012), funs(n(), mean(., na.rm = TRUE)))或
t <- mydata %>% group_by(Index) %>%

summarise_at(vars(Y2011:Y2015), funs(n(), mean(., na.rm = TRUE)))
#通过变量Index计算变量Y2011和Y2012的变量的计数和均值。

join()

  • semi_join(df1, df2, by = c(“CustomerId” = “CustomerId”))
  • inner_join() full_join()
  • semi_join() anti_join()
  • left_join() right_join()

ifelse

  • if_else(condition,true, false, missing = NULL)

bind

  • bind_row()
  • bind_cols()
  • combine()

set

  • intersect() #交集
  • setdiff()

%>% 管道

# 对数据进行分布处理:分组-汇总-排序-打印
tbl_hflights %>%
  group_by(UniqueCarrier) %>%
  summarize(m = mean(AirTime,na.rm = TRUE), sd = sd(AirTime,na.rm = TRUE)) %>%
  arrange(desc(m),sd) %>%
  head(10)

工作路径

setwd(‘c:/myr’)

getwd()

查看数据

str(df)

  • structure

summary(df)

is.na()

  • sapply(pbc,function(x) sum(is.na(x)))

排序

  • newdata<-df[order(df$age),]
  • newdata <-df[order(df s e x , − d f sex,-df sex,dfage)]

数据类型

var<- c(1,2.5,4.5)

var<-c(“hello”,“world”)

x<-list(1:3,“a”,c(TRUE,FALSE),list(2.3,5))

df<-data.frame(x=1:3,y=c(“a”,“b”,“c”),z=0)

  • dfname[1,1]
  • dfname[1,]
  • dfname[,‘y’]
  • dfname$y

转换

  • as.vector()
  • as.data.frame()
  • as.matrix()

在这里插入图片描述

install.packages(“plyr”)

update.packages()

factor

sex<-c(‘m’,‘f’,‘m’)

sex_factor<-factor(sex,levels=c(‘m’,‘f’))

full P c l a s s < − a s . f a c t o r ( f u l l Pclass<-as.factor(full Pclass<as.factor(fullPclss)

data s e x < − f a c t o r ( d a t a sex <-factor(data sex<factor(datasex,levels=c(0,1),labels=c(“M”,“F”))

IO

read.xlsx() 或 read.xlsx2()

df<-read.csv(‘c:/myr/data.csv’,header=TRUE,sep=’,’)

stata

  • library(haven)
    df<-read_stata(‘CFPS.dta’)

spss

  • write_sav(data.frame(df),‘df.sav’)

rds

  • saveRDS(df,df=‘df.rds’)

结果输出

https://www.jianshu.com/p/1ece127239ed

xtable flextable

合并

full<-bind_rows(train,test)

添加列

  • total<-merge(dfA,dfB,by=c(“ID”,“Country”))
  • cbind

添加行

  • total<- rbind(dfA,dfB)

lm

model<-lm(TestC~Age+relevel(Sex,“M”)) #哑变量

model<- lm(TestC~Agerelevel(Sex,“M”)) #AB=A+B+A:B

model1<-lm(TestC~Age+Age:relevel(Sex,“M”))

筛选

newdata<- subset(df, age>35 | age<24,select=c(q1,q2,q3,a4))

newdata <- subset(df,sex==“M” & age>20, select=sex:q4)

mysample<- df[sample(1:nrow(df),3,replace=FALSE),] #抽取三个样本

剔除列

  • myvar<-names(df) %in% c(“q3”,“q4”)
    newdata<-df[!myvar]
  • newdata<-df[c(-8,-9)] #剔除第8 9个变量

删除重复的行

  • mydata %>% dplyr::distinct(c1,c2, .keep_all=TRUE)

    • dplyr
  • df[!duplicated(df[,c(2,3)]),]

建议用dplyr

lm

confint(lm.reg,level=0.95) #置信区间

summary(fit)$coefficients

coef(model)[2]

画图

XMind - Trial Version

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值