常用R函数-2
1 前言
之前写过一篇R语言常用函数,见 R | 常用函数-1 最近用到R语言分析相关数据,故继续这篇推文,把另外一些常用的函数进行相关总结!
2 常用函数
2.1 看变量的类型 mode
Mode(house$price)
2.2 dataframe根据某一列进行降序/升序排列 order
df[order(df[,4],decreasing=T),] #按照第4列降序排序
df[order(df[,'score'],decreasing=F),] #按照score列升序排序
2.3 字符串拼接 paste
函数为:
- paste:拼接有空格
- paste0:拼接无空格
paste(..., sep = " ", collapse = NULL)
详情见:R语言中字符串的拼接操作
2.4 判断向量中是否存在一个元素 %in%
判断df[,1]中是否存在元素a:
a %in% df[,1]
在返回T 反之!
2.5 缺失值相关函数
- 对df某一列赋值为缺失值
df[,1] = NA
- 对所有缺失值赋值为0或者其余的值
- 全局赋值
- 按列赋值
data[is.na(data)] <- 0 # 全局
data[is.na(data$price), 3] <- 0 # 按列
mer$行业 <- na.fill(mer$行业, '其他行业’) # na.fill函数
- 删除缺失值所在的行
data = na.omit(data)
- 定位到缺失值所在的行 返回数据框
house[which(is.na(house)), ]
- 定位到某一列缺失值所在的行 返回数据框
df_na <- df[which(is.na(df$trans)),]
- 返回某一列缺失值删除之后的数据框
mer <- mer[complete.cases(mer[,7]),] # 删去商户号的缺失值之后还剩下7179个
2.6 判断两列是否完全一样——identical
identical(sort(df1$merchant_no), sort(df2$merchant_no))
# 判断是否一样 技巧:先排序
2.7 取消科学计数法,用原始数据的方式——options
options(scipen=200)
# 注:如果数值过大,在原始数据框里进行修改 然后变换纵轴的汉字表示即可
2.8 删空格-某列字符删去多余的空格-str_trim
df$card_no <- str_trim(df$card_no, side = c("both", "left", "right")) # 删空格 而且是有空格就删
2.9 查看唯一值的个数是多少(比如商户数量)
Python:可以用nunique
R:先unique 然后算length
length(unique(P_trans$merchant_no)) # 先unique然后length
2.10 如果变量(比如卡号)是科学计数法表示我们希望要显示出来并且是字符型 format
df$card_no <- format(df$card_no,digits = 14)