前言:
眼前朋友们对“r语言如何统计一个数据框中字符的个数”大概比较注重,咱们都想要剖析一些“r语言如何统计一个数据框中字符的个数”的相关资讯。那么小编也在网摘上汇集了一些对于“r语言如何统计一个数据框中字符的个数””的相关文章,希望姐妹们能喜欢,咱们快快来了解一下吧!2.2.4 数据框
数据框(data.frame)是R中最常处理的数据结构。
函数:data.frame(col1,col2,col3,….,row.name=NULL, check.rows = FALSE, check.names=TRUE, stringsAsFactors = default.stringsAsFactors())
其中的列向量col1, col2, col3,…可为任何类型(如字符型、数值型或逻辑型)。每一列的 名称可由函数names指定。row.name用于指定各行(样本)的名称,默认没有名称,使用从1开始自增的序列来标识每一行;check.rows用于用来检查行的名称和数量是否一致,默认为FALSE;check.names来检查变量(列)的名称是否唯一且符合语法,默认为TRUE;stringsAsFactors用来描述是否将字符型向量自动转换为因子,默认转换,若不改变的话使用stringsAsFactors = FALSE来指定即可。 每一列数据的模式必须唯一,不过你却可以将多个模式的不同列放到一起组成数据框。
1.创建数据框
A <- data.frame(name = c("one", "two", "three", "four", "five", "six", "seven", "eight"), values = c(1, 2, 3, 4, 5, 6, 7, 8), values2 = c(8, 7, 6, 5, 4, 3, 2, 1), row.names = c("r1", "r2", "r3", "r4", "r5", "r6", "r7", "r8")) # 使用data.frame函数创建数据框A,行名定义为r1到r8。A # 显示结果A。
## name values values2## r1 one 1 8## r2 two 2 7## r3 three 3 6## r4 four 4 5## r5 five 5 4## r6 six 6 3## r7 seven 7 2## r8 eight 8 1
name <- c("one", "two", "three", "four", "five", "six", "seven", "eight") # 构建字符型向量name。values <- c(1, 2, 3, 4, 5, 6, 7, 8) # 构建数值型向量values。values2 <- c(8, 7, 6, 5, 4, 3, 2, 1) # 构建数值型向量values2。A <- data.frame(name, values, values2, row.names = c("r1", "r2", "r3", "r4", "r5", "r6", "r7", "r8")) # 创建数据框A。A # 显示结果A。
## name values values2## r1 one 1 8## r2 two 2 7## r3 three 3 6## r4 four 4 5## r5 five 5 4## r6 six 6 3## r7 seven 7 2## r8 eight 8 12.数据框索引
R语言的下标索引是从1开始的,且下标索引为负数的话表示删除某个元素,[行下标, 列下标]
A[4,] # 返回数据框A第4行。
## name values values2## r4 four 4 5
A[,2] # 返回数据框A第2列。
## [1] 1 2 3 4 5 6 7 8
A[4,1] # 返回数据框A第4行,第1列。
## [1] "four"
A[1:4,] # 返回数据框A第1至第4行。
## name values values2## r1 one 1 8## r2 two 2 7## r3 three 3 6## r4 four 4 5
A[,1:2] # 返回数据框A第1至第2列。
## name values## r1 one 1## r2 two 2## r3 three 3## r4 four 4## r5 five 5## r6 six 6## r7 seven 7## r8 eight 8
A[c(1,4),c(1,3)] # 返回数据框A第1和第4行,第1和第3列的数据。
## name values2## r1 one 8## r4 four 5
A$values # 返回数据框第2列。$符可以选取数据框中的某列,$前是数据框名,$后是列名。
## [1] 1 2 3 4 5 6 7 8
A[,-3] # 提取第3列以外的其他数据。
## name values## r1 one 1## r2 two 2## r3 three 3## r4 four 4## r5 five 5## r6 six 6## r7 seven 7## r8 eight 8
A[4,"name"] # 通过指定列名,返回到具体值。
## [1] "four"
A[2] # 直接得到一个新的数据框,仅包含原数据框A的第2列。[]中输入想要得到的列号就可以。
## values## r1 1## r2 2## r3 3## r4 4## r5 5## r6 6## r7 7## r8 8
A[[2]] # 访问第2列。
## [1] 1 2 3 4 5 6 7 8
A[c(1,2)] # 得到新数据框,数据框含原数据框A的列1和列2。
## name values## r1 one 1## r2 two 2## r3 three 3## r4 four 4## r5 five 5## r6 six 6## r7 seven 7## r8 eight 8
A[which(A$values < 4),] # 返回数据框values列小于4的数据,which可以输入<,>等其他条件。
## name values values2## r1 one 1 8## r2 two 2 7## r3 three 3 6
A[which(A$values < 4),"name"] # 返回name列中符合条件为values列中小于4的数据。
## [1] "one" "two" "three"
A[which(A$values < 2 | A$values > 6),] # 返回数据框A中values小于2或大于6的数据。
## name values values2## r1 one 1 8## r7 seven 7 2## r8 eight 8 1
A[which(A$values > 4 & A$values < 6),] # 返回数据框A中values大于4与小于6的数据。
## name values values2## r5 five 5 4
A[-which(A$values > 4 & A$values < 6),] # 返回数据框A中values列大于4,小于6以外的数据,相对于上列进行了条件反转。
## name values values2## r1 one 1 8## r2 two 2 7## r3 three 3 6## r4 four 4 5## r6 six 6 3## r7 seven 7 2## r8 eight 8 1
attach、detach和with()
函数attach()可将数据框添加到R的搜索路径中。
函数detach()将数据框从搜索路径中移除。
函数attach()和detach()最好在你分析一个单独的数据框,并且不太可能有多个同名对象时使用。
with()就是把所有操作都限制在数据框上。
attach(A) # 将数据框A加入搜索路径。
## The following objects are masked _by_ .GlobalEnv:## ## name, values, values2
values # 显示数据框A中的values列。可以看出调用values列可以直接在程序中输入列名values,而不用再输入A$values。detach是与attach相反的操作。
## [1] 1 2 3 4 5 6 7 8
A1 <- data.frame(name = c("n1", "n2", "n3", "n4", "n5", "n6", "n7", "n8"), values = c(2, 1, 4, 3, 6, 5, 8, 7), values2 = c(2, 3, 5, 2, 4, 4, 6, 5)) # 创建数据框A1。A1 # 显示数据框A1。
## name values values2## 1 n1 2 2## 2 n2 1 3## 3 n3 4 5## 4 n4 3 2## 5 n5 6 4## 6 n6 5 4## 7 n7 8 6## 8 n8 7 5
with(A1, {plot(values, values2)}) # 虽然数据框A和A1有相同的列名称,但是这里用with函数后,{}中只调用数据框A1中的values和values2。
with(A1, {name1 <<- name}) # 想在with函数中对全局的变量进行赋值,那么需要使用<<-运算符。name1 # 显示name1。
## [1] "n1" "n2" "n3" "n4" "n5" "n6" "n7" "n8"3.查看数据框
head(A) # 查看数据前6行。
## name values values2## r1 one 1 8## r2 two 2 7## r3 three 3 6## r4 four 4 5## r5 five 5 4## r6 six 6 3
head(A, 3) # 查看数据框A前3行数据。
## name values values2## r1 one 1 8## r2 two 2 7## r3 three 3 6
tail(A) # 查看数据后6行。
## name values values2## r3 three 3 6## r4 four 4 5## r5 five 5 4## r6 six 6 3## r7 seven 7 2## r8 eight 8 1
tail(A, 5) # 查看数据后5行。
## name values values2## r4 four 4 5## r5 five 5 4## r6 six 6 3## r7 seven 7 2## r8 eight 8 1
print(A) # 查看数据框A。
## name values values2## r1 one 1 8## r2 two 2 7## r3 three 3 6## r4 four 4 5## r5 five 5 4## r6 six 6 3## r7 seven 7 2## r8 eight 8 1
A # 也可以直接输入数据框名称查看数据。也可以在R studio种的环境界面直接点击A查看。
## name values values2## r1 one 1 8## r2 two 2 7## r3 three 3 6## r4 four 4 5## r5 five 5 4## r6 six 6 3## r7 seven 7 2## r8 eight 8 1
length(A[,1]) # 查看数据框行数量。
## [1] 8
length(A[1,]) # 查看数据框列数量。
## [1] 3
length(A$name) # 查看数据框A中列name的数量。
## [1] 8
colnames(A) # 查看数据框列名。
## [1] "name" "values" "values2"
rownames(A) # 查看数据框行名。
## [1] "r1" "r2" "r3" "r4" "r5" "r6" "r7" "r8"
dim(A) # 显示数据框A的维度。8行,3列。
## [1] 8 3
str(A) # 查看数据框A的数据结构。
## 'data.frame': 8 obs. of 3 variables:## $ name : chr "one" "two" "three" "four" ...## $ values : num 1 2 3 4 5 6 7 8## $ values2: num 8 7 6 5 4 3 2 1
class(A) # 查看数据框类型。
## [1] "data.frame"
class(A$values) #查看数据框列的类型。
## [1] "numeric"
mode(A$name) # 显示数据框A中name列的模式。
## [1] "character"
summary(A) # 数据框基本描述性统计。
## name values values2 ## Length:8 Min. :1.00 Min. :1.00 ## Class :character 1st Qu.:2.75 1st Qu.:2.75 ## Mode :character Median :4.50 Median :4.50 ## Mean :4.50 Mean :4.50 ## 3rd Qu.:6.25 3rd Qu.:6.25 ## Max. :8.00 Max. :8.00
duplicated(A$values) # 查询数据框A中values列是否有重复数据,若有会返回TRUE,若无,返回FLASE。
## [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
标签: #r语言如何统计一个数据框中字符的个数