背景:下载某数据库的数据做数据分析,发现下载的数据结构是多层list嵌套,与平时遇到的数据表(data.frame)不同,并且第二层list的名称是本人需要的变量。...5.1 4.9 4.7 4.6 5.0 5.4 4.6 5.0 4.4 4.9 $y [1] 3.5 3.0 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 二、简单列表list与data.frame...转换 一般情况情况,as.list()和as.data.frame()可直接实现简单的list和data.frame类型数据的转换。...as.list(x)可将数据框x按列转换为多个list as.data.frame(x),可将列表x按列合并为一个数据框data.frame > df_as.list <- as.list(df) >...0.2 setosa 10 4.9 3.1 1.5 0.1 setosa 三、两层list将内层相同结构的数据合并为data.frame
介绍: 生信技能树练习题大全:http://www.biotrainee.com/thread-1754-1-1.html by Jimmy老师 向量(vector)和数据框(data.frame)...图片 自己答案 Basic=data.frame( Age=c(25,31,23,52,76,49,26), Height=c(177,163,190,179,163,183,164), Weight...自己答案 Basic2=data.frame( Working=c('Yes','No','No','Yes','Yes','No','Yes') ) rownames(Basic2)=c('Alex...自己答案 df1=data.frame( a=rnorm(10,0,1), b=rnorm(10,0,2) c=rnorm(10,0,3) ) #不会排序 标准答案 # Example vectors...v <- c(45:41, 30:33) b <- LETTERS[rep(1:3, 3)] n <- round(rnorm(9, 65, 5)) df <- data.frame(Age = v
我们常用[ , ]提取数据框 (data.frame): 如果是多列数据框,提取后还是数据框; 如果是单列数据库,提取后就被自动转成了vector,想再按照数据库的方式使用就会报错; 提取时加上drop...untrt # 提取行名也正常了 rownames(a2) # [1] "trt_1" "trt_2" "trt_3" "untrt_1" "untrt_2" "untrt_3" 建议data.frame
1.data.frame来源(1)用代码新建 data.frame()(2)由已有数据转换或处理得到 matrix-->data.frame(3)读取表格文件-read() (4)R语言内置数据(iris...、volcano)2.新建和读取data.frame2.1 新建data.framedf1 <- data.frame(gene = paste0("gene",1:4),...的最后一列df1[,3]df1[,ncol(df1)] #ncol()可以输出列数,所以为最后一列2.提取data.frame除最后一列的其他列df1[,-ncol(df1)] #"-"表示反选,“!”...处理逻辑型数据3.按照data.frame的某一列对整个data.frame进行排序--利用order()函数df1[order(df1$score),] #默认为升序df1[order(df1$score..., decreasing = T),] #降序排列4.按照data.frame的某一列对整个data.frame进行去重--利用distinct()函数library(dplyr)df1 <- df1
classes, fdef, mtable) : unable to find an inherited method for function ‘select’ for signature ‘"data.frame
版权声明:博主原创文章,微信公众号:素质云笔记,转载请注明来源“素质云博客”,谢谢合作!! ...
install_github("datastorm-open/visNetwork") rm(list=ls()) library(visNetwork) library(igraph) a nodes data.frame..., with id column a edges data.frame, with from and to columns **列名必须是指定的,node至少一列“id”,edge至少两列“from”“...举例介绍功能 01 基础网络图visNetwork nodes <- data.frame(id = 1:6) edges <- data.frame(from = c(1,2,2,3,3,4,4),...nodes <- data.frame(id = 1:6) edges <- data.frame(from = c(1,2,2,3,3,4,4), to = c(2,3,4,4,6,5,6)) visNetwork...library(visNetwork) setwd("E:/visNetwork") #为node&egde设置属性 node.df=data.frame(id=node[,], value =
列名和df相同的数据框 > df_c = df[FALSE, ] [1] one two three (或0-长度的row.names) 创建非空数据框 # 指定列名 > df = data.frame...(one=c(9,8,7,6,12)) > cbind(df,df4) Error in data.frame(..., check.names = FALSE) : 参数值意味着不同的行数: 4..., 5 虽然df_n的行数小于df,但df不是df_n行数的整数倍时,也会失败 > cbind(df,data.frame(one=c(5,2,3),two=c(12),three=c(9))) Error...in data.frame(..., check.names = FALSE) : 参数值意味着不同的行数: 4, 3 rbind 行连接 > rbind(df, data.frame(one_t..."> str(df) 'data.frame': 4 obs. of 3 variables: $ one_t: num 1 2 3 4 $ two : num 4 5 6 0 $
#横向合并 ID<-c(1,2,3,4) name<-c("Jim","Tony","Lisa","Tom") score<-c(89,22,78,78) student1<-data.frame(ID...#纵向合并 ID<-c(1,2,3) name<-c("Jame","Kevin","Sunny") student1<-data.frame(ID,name) ID<-c(4,5,6) name<-...(t(data.frame(Job_Pwordseg.ct[1]))) list1[[2]]=data.frame(t(data.frame(Job_Pwordseg.ct[2]))) do.call(...rbind.fill,list1) #第二种方法 u=rbind.fill(data.frame(t(data.frame(Job_Pwordseg.ct[1]))),data.frame(t(data.frame...(Job_Pwordseg.ct[2])))) 核心函数是plyr包中的rbind.fill函数(合并的数据,必须是data.frame),do.call可以用来批量执行。
image.png 首先是准备数据 表示整个基因的矩形数据 gene1<-data.frame( xmin=15000, xmax=16000, ymin=1, ymax=2 ) 外显子的数据...exon<- data.frame( xmin=c(15100,15300,15700), xmax=c(15200,15600,15900), ymin=1, ymax...=2, label=paste0("exon_",1:3) ) 基因上下游的线段的数据 df<-data.frame( x=14500, xend=16500, y=1.5,...yend=1.5 ) snp的位置数据 df1<- data.frame( x=c(14510,14530,14560,14590), y=1.5 ) df2<- data.frame...( xmin = 15000, xmax = 16000, ymin = 1, ymax = 2 ) exon <- data.frame( xmin = c(15100,
theme1 逻辑回归式笑哭 正态分布式笑哭 123456789 # 正态密度曲线x <- seq(-5,5,length.out = 100)y <- dnorm(x)df_norm <- data.frame...*pi,length.out = 100)x <- 16*(sin(t)^3)y <- 13*cos(t) - 5*cos(2*t) - 2*cos(3*t)-cos(4*t)df_heart <- data.frame...众星捧月式笑哭 1234567891011121314 # 弧形x <- seq(-10,10,length.out=40)r <- 10y <- -sqrt(r^2-x^2)df_cirle <- data.frame...)+ theme1 囧式笑哭 金拱门式笑哭 12345678910 # 金拱门x <- seq(0,2*pi,length.out = 100)y <- abs(sin(x)) df_m <- data.frame...(x=x,y=y) return(df)} df_circle <- data.frame(x=NULL,y=NULL)layer <- 11for(i in 1:layer){ df_circle
cutpoints cutseplen <- cut(iris$Sepal.Length, breaks = cutpoints , include.lowest = TRUE) newiris <- data.frame...ID<-c(1,2,3,4) name<-c("Jim","Tony","Lisa","Tom") score<-c(89,22,78,78) student1<-data.frame(ID...,name) student2<-data.frame(ID,score) total_student<-merge(student1,student2,by="ID") #或者rbind()...total_student ID<-c(1,2,3) name<-c("Jame","Kevin","Sunny") student1<-data.frame(ID,name) ID...<-c(4,5,6) name<-c("Sun","Frame","Eric") student2<-data.frame(ID,name) total<-cbind(student1,student2
区别 Job_Pwordseg.ct[1][1] #不论如何都不能得到list中的单个单词 unlist(Job_Pwordseg.ct[1])[1]#可以得到单个单词,向量形式 #2、data.frame...法,批量处理时,因为不等长而无法合并 data.frame(Job_Pwordseg.ct[1]) #变成了序号+单词 data.frame(unlist(Job_Pwordseg.ct...#4、t()在list的文本型 t(data.frame(Job_Pwordseg.ct[1])) #A [,1] [,2] [,3] #"职位" "描述" "Android" data.frame...(t(data.frame(Job_Pwordseg.ct[1]))) list1[[2]]=data.frame(t(data.frame(Job_Pwordseg.ct[2]))) do.call(...rbind.fill,list1) #第二种方法 u=rbind.fill(data.frame(t(data.frame(Job_Pwordseg.ct[1]))),data.frame(t(data.frame
condition <- rep(c("normal" , "stress" , "Nitrogen") , 4) value <- abs(rnorm(12 , 0 , 15)) data <- data.frame...condition <- rep(c("normal" , "stress" , "Nitrogen") , 4) value <- abs(rnorm(12 , 0 , 15)) data <- data.frame...condition <- rep(c("normal" , "stress" , "Nitrogen") , 4) value <- abs(rnorm(12 , 0 , 15)) data <- data.frame...condition <- rep(c("normal" , "stress" , "Nitrogen") , 4) value <- abs(rnorm(12 , 0 , 15)) data <- data.frame...condition <- rep(c("normal" , "stress" , "Nitrogen") , 4) value <- abs(rnorm(12 , 0 , 15)) data <- data.frame
先看一个数据, data为data.frame格式 ? 进行转置 t(data) ? 数值型数据全部变成了字符型,怎么回事?其实是因为cluster那一列数据并不是数值型,而是字符型。...转置会先将data.frame用as.matrix()转成矩阵格式,然后再转置,最终得到一个矩阵。...因为data.frame可以存放多个类型的数据,但matrix只能存放同一种数据类型,对于输入的data.frame而言,如果有字符型数据,那么整个data.frame的数值型数据都会被转成字符型·。
对于data.frame大家应该很熟悉,它可以存储不同数据类型的向量数据。今天给大家介绍一个升级版的data.frame,其不仅可以存储不同数据类型还可以进行多列的并行运算。...as.data.table 将R对象转化为data.table格式的数据,其对象可以为列表,向量,data.frame。...DF =data.frame(x=rep(c("b","a","c"),each=3),y=c(1,3,6), v=1:9) DT=as.data.table(DF,keep.rownames=TRUE...接下来我们看下data.table数据类型的运算,其基础的运算既包含data.frame所有的运算方式,同时又有升级的运算: 1.
在 primitive.R 代码中 plxy 就是一个形状的数据,第一列是x,第二列是y 比如上图中28的形状 square diamond 把中心掏出一正方形的空白 data.frame(x=c(0,...") source("ggstar02/utilities.R") library(grid) library(gridExtra) library(tidyverse) ggplot(data=data.frame...color="black") 一个牛头的形状 x1<-seq(-1,1,by=0.5) y1<-sqrt(1-x1^2) y2<-seq(-1,1,by=0.5) x2<-sqrt(1-y2^2) data.frame...-y2,-y1-1,y2)) %>% ggplot(aes(x=x,y=y))+ geom_polygon(fill="white",color="black") ggplot(data=data.frame...show.legend = FALSE)+ theme_bw()+ theme(panel.grid = element_blank()) ggplot(data=data.frame
既生 data.frame,何生 tibble? tibble 是一种简单数据框,它对传统数据框的功能进行了一些修改,其所提供的简单数据框更易于在 tidyverse 中使用。...2 1 5 ## 3 3 1 10 ## 4 4 1 17 ## 5 5 1 26 tibble() 函数比data.frame...互换 数据框转换为 tibble: tb <- as_tibble(iris) class(tb) ## [1] "tbl_df" "tbl" "data.frame" tibble...转换为数据框: df <- as.data.frame(tb) class(df) ## [1] "data.frame" 与 data.frame 比较 tibble 和传统 data.frame...[['x']] ## [1] 0.8070801 0.1610041 0.3952444 0.1384965 0.5667709 与 data.frame 相比,tibble 更严格:它不能进行部分匹配
批量写入 3.1 批量写入到不同的Excel中 「步骤:」 内容为list,每个元素为一个data.frame 这里,我们用re的结果: > str(re) List of 8 $ a1.xlsx:'...0.0681 $ a2.xlsx:'data.frame': 4 obs. of 2 variables: ..$ ID: num [1:4] 1 2 3 4 ..$ y : num [1...:4] 0.6275 0.4325 0.6046 0.0681 $ a3.xlsx:'data.frame': 4 obs. of 2 variables: ..$ ID: num [1:4]...1 2 3 4 ..$ y : num [1:4] 0.6275 0.4325 0.6046 0.0681 $ a4.xlsx:'data.frame': 4 obs. of 2 variables...: ..$ ID: num [1:4] 1 2 3 4 ..$ y : num [1:4] 0.6275 0.4325 0.6046 0.0681 $ a5.xlsx:'data.frame'
领取专属 10元无门槛券
手把手带您无忧上云