首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

R语言数据框深度解析:从创建到数据操作,一文掌握核心技能

# 数据统计摘要 dim(df) # 数据框的行和列数 read.csv()函数是 R 的基础函数,功能强大,但对于文件的要求较为严格,比如:文件必须是 CSV 格式(用逗号分隔的数据);文件的分隔符必须是逗号...1列和第3列 df[1:3, ] # 获取前 3 行 df[, c("Name", "Score")] # 获取指定列 df[df$Score > 85, ] # 条件筛选 添加与删除列 df$Pass...df$Score >= 80 # 添加“Pass”列 df$Pass 列 数据排序 按列排序 df df[order(df$Score, decreasing...拼接行:把行拼起来,也就是对多个数据框垂直堆叠,也就是在一个数据框的下方添加另一个数据框,要求列数相同。...(左连接): df_merged df5, df6, by = "ID", all.x = TRUE) 保留右侧数据框的所有行(右连接): df_merged df5

18710
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    R语言笔记-2

    = 3)) #数据框的读取 df df = read.csv("gene.csv") #数据框的属性 dim(df) #查看行数和列数 nrow(df) #查看行数 ncol(df) #查看列数 rownames...(df) #查看行名 colnames(df) #查看列名 输出结果: 图片 图片 数据框的操作 #数据框取子集 df$change #按列名取一列,返回一个向量 df[,1] #按列号取一列,返回一个向量...df[,-ncol(df)] #提取除数据框最后一列之外的列 输出结果: 图片 数据框之间的操作 df1 = data.frame(genes = paste0("gene",1:6),count =...数据框的连接 merge(df,df1,by="genes") #指定列名相同的genes列进行合并 merge(df1,df2,by.x="genes",by.y="GENES") #指定列名不同的列进行合并...(1:9,nrow = 3) m2 = matrix(1:8,ncol = 3) m1 m2 #矩阵不足行数或列数会自动补齐 colnames(m1) 添加列名 m1

    53600

    R语言数据分析利器data.table包 —— 数据框结构处理精讲

    可见它是属于data.table和data.frame类,并且取列,维数,都可以采用data.frame的方法。...DF = data.frame(x=rep(c("b","a","c"),each=3), y=c(1,3,6), v=1:9) DT = data.table(x=rep(c("b","a","c")...DF = data.frame(x=rep(c("b","a","c"),each=3), y=c(1,3,6), v=1:9) #新建data.frame DF DT=as.data.table(DF...n列,.N(总列数,直接在j输入.N取最后一列),:=(直接在data.table上添加列,没有copy过程,所以快,有需要的话注意备份),.SD输出子集,.SD[n]输出子集的第n列,DT[,....函数画图,对于每个x的分组画一张图 DT[, m:=mean(v), by=x] #对DT按x列分组,直接在DT上再添加一列m,m的内容是mean(v),直接修改并且不输出到屏幕上 DT[, m:=mean

    5.9K20

    Jelys Note之生信入门class3

    4 gene4 down -4 统计一个数据有几行几列的函数是dim【与dim类似的函数是table】 >dim(df1) 维度 [1] 4 3 有四行三列 >a=iris table...df1中的数据,c(1,3)是取第一行和第三行的数据,逗号表示维度的分割,1:2是取第一列与第二列的数据 eg....x=1,2,3,4,5 [1] 1 5 6)数据框取自己,按名字提取列信息 变量[“行名”,”列名“] df1 gene change score 1 gene1 up 5 2 gene2...取出来的是符合条件的子集】 筛选score > 0的基因 > df1[df1$score > 0,]内容写在逗号前取子集是按行来取子集 取df1数据框中score那一列大于0的df1值如第一行、第二行...将行名改为flower1、2、3、4、5、 rownames(a)= paste0("flower",1:nrow(a)) 1:nrow(a)行名是取1到a个数值的数,1、2、3...完全不会出问题!

    64310

    R语言 数据框、矩阵、列表的创建、修改、导出

    data.frame生成指定数据框的列名及列的内容,如代码所示,此时列名不需添加"",df1为变量名,格式为列名=列的向量*matrix矩阵与向量一样只允许同一种数据类型,否则会被转换,可以理解为二维的向量...,data.frame数据框允许不同列不同的数据类型,但同一列只允许一种数据类型*数据框中括号内行在列前df1 data.frame(gene = paste0("gene",1:4),...、列名)dim为维度,对数据框使用,输出(行数,列数),nrow输出行数,ncol输出列数dim(df1)nrow(df1)ncol(df1)rowname输出行名,colname输出列名*注意没有"s...(df1$score) #对取出的向量可以进行运算坐标取子集df1[2,2] #取出(行数,列数)的单元格df1[2,] #取出第二行的所有内容df1[,2] #取出第二列的所有内容,同df1$df1[...0的数据对应的行#筛选score > 0的基因df1[df1$score > 0,1] #df1$score > 0生成一个长度与df对应的逻辑值向量,取出行为TRUE的且列数为1的df1$gene[df1

    7.9K00

    从零开始的异世界生信学习 R语言部分 02 数据结构之数据框、矩阵、列表

    数据框 data.frame 数据框 约等于表格:1.数据框不是一个具体文件,只是R语言内部的一个数据;2.数据框每一列只能有一种数据类型 图片 新建和读取数据框 #新建和读取数据框 df1 data.frame...# nrow(df1) #输出行数 ncol(df1) #输出列数 # rownames(df1) #输出行名 colnames(df1) #输出列名 数据框取子集 数据主要操作为按列取子集,取出来的为向量...#4.数据框取子集 df1$gene #删掉score,按tab键试试 mean(df1$score) ## 按坐标 df1[2,2] # 取第二行第二列 df1[2,] #取第二行 df1[,2]...#取第二列 df1[c(1,3),1:2] # 取第一行和第三行以及第一列和第二列,注意逗号前后不同的向量,分别表示取得行和列!!!...df1[,3] df1[,ncol(df1)] #ncol()函数统计列数,一共多少列,就是取最后一列 #如何取数据框除了最后一列以外的其他列?

    1.8K20

    16. R编程(二:基本数据类型及其操作之因子、矩阵、数据框和列表)

    添加行到matrix 使用rbind(),操作同cbind() 加和 colSums() 或 rowSums() 选择矩阵中的元素 matrix[x, y] ,x表示行,y表示列 martix[1:2,2...通常也是列数。3)变量的数目与类型。4)前10个observation 的信息。 ” dim(df) 返回df 几行几列。nrow(df) , ncol(df) ,分别返回行与列。...如果设定levels,将相当于手动添加了向量元素的label,不然则是R 替我们完成添加的工作,比如按照字母表顺序: > expression data.frame(gene,s1,s2,s3) # (提示:后三列是用函数生成的随机数, # 数值不必完全和我截图的相同) # 2.读取excise.csv这个文件,赋值给test2。...colnames(test2) # 4.使用函数,查看test2的行数和列数。

    2.8K20

    基于随机森林方法的缺失值填充

    [1] # 13 向完整数据中填充缺失值 设置缺失的样本总数 rng = np.random.RandomState(0) # 确定随机种子 missing_rate = 0.5 # 缺失率是50%...数据集要随机遍布在各行各列中,而一个缺失的数据需要行列两个指标 创造一个数组,行索引在0-506,列索引在0-13之间,利用索引来进行填充3289个位置的数据 利用0、均值、随机森林分别进行填充 #...缺失值越少,所需要的准确信息也越少 填补一个特征,先将其他特征值的缺失值用0代替,这样每次循环一次,有缺失值的特征便会减少一个 图形解释 假设数据有n个特征,m行数据 ?...上面 fillc = df.iloc[:, i] # 某个需要填充的列,索引为i # 没有被选中填充(!...= i], pd.DataFrame(y_full)], axis=1) # 新的特征矩阵df中,对含有缺失值的列,进行0的填补 # 检查是否有0 pd.DataFrame(df_0

    7.2K31

    生信课程note-3

    、行、列dim(df1)nrow(df1)ncol(df1)#行名,列名rownames(df1)colnames(df1)#4.数据框取子集df1$score 向量取子集用的是[] 取score这一列...df1$gene #删掉score,按tab键试试mean(df1$score)## 按坐标df1[2,2]df1[2,] 第二行df1[,2]df1[c(1,3),1:2] 1,3行,1,2列 向量是...x[c(1,5)]即第一个和第五个数## 按名字df1[,"gene"] df1[,c("gene","change")]df1[,c('gene','change')]## 按条件(逻辑值)df1[df1...用于取子集的逻辑值向量:与x对应,不必须由x生成。(例子中即通过score为gene取子集)记住,==是等于的意思,>-是赋值的意思## 代码思维#如何取数据框的最后一列?...c("r1","r2","r3","r4")#只修改某一行/列的名colnames(df1)[2] 行名都是向量#6.两个数据框的连接test1 data.frame(

    1.3K40

    生信技能树 数据框data.frame练习1

    data.frame (row.names = Name, Age, Height, Weight, Sex) levels(df$Sex) <- c("M", "F") df 分析 第一次接触...:nrow(df)) 分析 取名字或其他要数行列的情况下,可以直接通过ncol和nrow代替 Exercise 6 For this exercise, we’ll use the (built-in)...[1:4]) df df[, c(5, 1:4)] 分析 排序方式,即从原dataframe取一个新的子集,按所需要的顺序(如列)取 Exercise 7 For this exercise...$Income),] rownames(dfsh) 标准答案 class (state.x77) df x77) nrow(subset(df, df$Income...忘记c就是忘记创建向量直接写了元素;忘记引号就是把要写的字符直接打成了变量,而变量本身不存在,所以经常会报错;忘记逗号主要是在数据框取某些行或列,只写了行或列的条件,没写逗号表示出行或列,另外就是在创建数据框的不同列时忘记用逗号分隔

    67440

    2023.4生信马拉松day3-数据结构

    Iris,letters,LETTERS,volcanovolcanoheatmap(volcano) #体验一下用R的内置数据画个图,快乐一下2.数据框属性dim(df1) #看行数和列数nrow...(df1) #只看行数ncol(df1) #只看列数#经常把行列搞反怎么办,跟我念三遍:row是横排成行;colum是纵队为列;rownames(df1) #看所有行名colnames(df1)...-(2)按坐标取元素/行/列df1[2,2]df1[2,] #取出来的行会继承数据框属性df1[,2] #取出来的列是向量df1[2] #不加逗号,可以取出列,并保留其数据框属性df1[c...中,Species列的值为a或c的行test[test$Species %in% c("a","c"),] #如果把这里的%in%换成 == 的话会出现循环补齐,是不对滴;#上次已经辨析过:x ==...y和x %in% y的区别:前者是x和y对应位置一对一比较,是等位运算;后者是x每一个元素都要和y里所有的元素比一遍;4.数据框修改#改一个格df1[3,3] df1#改一整列df1$score

    1.4K00

    R语言数据结构(三)数据框

    为方便大家理解记忆,对每种数据结构的基本操作概括为四大类: 创建数据结构 往里面添加数据 从里面查询数据 对里面的数据进行修改 这篇文章我们将介绍数据框的使用 数据框 数据框是R语言中的一种类似于表格的数据结构...数据框有两个维度,分别表示行数和列数,可以用dim()函数来获取。数据框中的每个向量可以有一个名称,可以用names()函数来获取或设置。...下面是一些关于数据框行名和列名的示例代码: # 创建示例数据框 df data.frame( name = c("Alice", "Bob", "Charlie"), age = c(20...code # 1 red #FFFFFF # 2 green #00FF00 为数据框增加一列 # 假设有一个数据框df_add df_add data.frame(name =...M London # 3 Charlie 30 M Tokyo 合并数据框 我们可以用rbind()和cbind()函数来按行或列合并数据框,参数是两个或多个数据框,它们必须有相同的列数或行数

    27530
    领券