精华内容
下载资源
问答
  • 快速将非数值型目标变量转化为数值型变量,比如把[‘L’,’M’,’N’]转化为[1,2,3]或多维向量类型 转化前: df_train.y.value_counts() C 620 R 477 G 361 M 353 L 267 T 216 E 87 Name: y, dtype: int64 ...

    快速将非数值型目标变量转化为数值型变量,比如把[‘L’,’M’,’N’]转化为[1,2,3]或多维向量类型

    转化前:

    df_train.y.value_counts()
    C    620
    R    477
    G    361
    M    353
    L    267
    T    216
    E     87
    Name: y, dtype: int64

    法1:转化为一维型

    from sklearn import preprocessing
    # 获取目标变量列
    data_y=df_train['y']
    # 获取目标变量值
    y_labels=list(data_y.value_counts().index)
    # 创建标签预处理器
    le=preprocessing.LabelEncoder()
    le.fit(y_labels)
    
    # 对每一个标签值进行映射
    y=data_y.map(lambda x :le.transform([x])[0])
    y.value_counts()
    

    转化后:

    0    620
    5    477
    2    361
    4    353
    3    267
    6    216
    1     87
    Name: y, dtype: int64

    法2:转化为多维型

    from keras.utils.np_utils import to_categorical
    from sklearn import preprocessing
    # 获取目标变量列
    data_y=df_train['y']
    # 获取目标变量值
    y_labels=list(data_y.value_counts().index)
    # 创建标签预处理器
    le=preprocessing.LabelEncoder()
    le.fit(y_labels)
    # 获取标签的类别数
    num_labels=len(y_labels)
    
    # 对每一个标签值进行映射
    y=to_categorical(data_y.map(lambda x :le.transform([x])[0]),num_labels)
    print(y[:5])

    转化后:

    array([[0., 0., 0., 0., 0., 0., 1.],
           [0., 0., 0., 0., 0., 0., 1.],
           [0., 0., 1., 0., 0., 0., 0.],
           [0., 0., 1., 0., 0., 0., 0.],
           [0., 0., 1., 0., 0., 0., 0.]])
    展开全文
  • 目录一、问题回顾corrplot及pheatmap均无法绘制热图并报错二、分析原因报错显示出现了非数值型变量三、解决方案——将整个矩阵转化为数值型变量注意:不能直接用as.numeric,会把矩阵全部转成一列向量apply命令解决...

    一、问题回顾

    corrplot及pheatmap均无法绘制热图并报错

    corrplot(test,is.corr=FALSE)
    Error in c_max * c_min : non-numeric argument to binary operator

    pheatmap(test,cluster_row = FALSE,cluster_col = FALSE)
    Error in seq.default(min(x, na.rm = T), max(x, na.rm = T), length.out = n + :
    ‘from’ must be a finite number

    二、分析原因

    报错显示出现了非数值型变量

    三、解决方案——将整个矩阵转化为数值型变量

    1、友情提示:

    不能直接用as.numeric,会把矩阵全部转成一列向量

    test<-as.numeric(test)
    Warning message:
    NAs introduced by coercion

    2、最终方案——apply命令解决

    test=apply(test,2,as.numeric)#将test矩阵,逐列转为数值型变量,并再次赋值给test
    

    test=apply(test,2,as.numeric)
    Warning message:
    In apply(test, 2, as.numeric) : NAs introduced by coercion

    3、结果展示

    corrplot(test,is.corr=FALSE)
    在这里插入图片描述
    pheatmap(test,cluster_row = FALSE,cluster_col = FALSE)
    在这里插入图片描述

    作者介绍

    何世伟
    厦门大学公共卫生硕士
    研究方向:表观遗传流行病学、循证医学、生物信息学
    联系方式:swheok@foxmail.com

    展开全文
  • 根据一个变量按某一数值型变量计算频率或者占比也许很简单,呐SQL,两个呢,或许用SQL就开始大想特想,消耗脑细胞。 I’m coming! 数据描述:有三列数据,前两列是分类变量,第三列是数值型变量。 过程是这个样子...

    根据一个变量按某一数值型变量计算频率或者占比也许很简单,呐SQL,两个呢,或许用SQL就开始大想特想,消耗脑细胞。
    I’m coming!
    数据描述:有三列数据,前两列是分类变量,第三列是数值型变量。
    过程是这个样子的:
    1.将两个分类变量的取值分别作为二维列联表的行跟列,呀!列联表用上啦,没错xtabs()来啦;
    2.然后按照行或者列求比列就是了,没错,就是prop.table();
    3.是二维列表怎磨破,as.data.frame()很强大,威武;
    4.这样就可以画图了;
    5.要是想把频数也加进来,我天,sqldf()各种匹,为啥不用merge()或者data.table包里的东东?笨蛋!这里有两个分类变量,两个条件我选SQL,and,and,and到底!

    That’s all!简直可爱到哭!

    chdata <- read.csv('CH\\CHdata.csv',encoding = 'utf8')
    mytable <- xtabs(count.1.~ip_province+ISP,data = chdata)
    protable <- prop.table(mytable,1)
    
    fretable <- as.data.frame(protable)
    
    library(ggplot2)
    g <- ggplot(fretable, aes(x=ip_province,y=Freq,fill = ISP)) +
      geom_bar(stat = 'identity',position = 'fill')
    
    
    library(sqldf)
    fredata <- sqldf('select chdata.*,fretable.Freq from chdata left join fretable where fretable.ip_province=chdata.ip_province and fretable.ISP=chdata.ISP')  
    
    write.csv(fredata,'CH\\fre_pro_data.csv')  
    
    展开全文
  • R语言笔记-数值型变量的描述统计

    千次阅读 2020-10-21 16:55:11
    文章目录不分亚组的描述统计使用向量操作计算单个变量的描述统计量计算汇总了多个变量的数据框的描述统计量:``sapply()````psych``包:``describe()``分亚组的描述统计``aggregate()````epiDisplay``包:``summ()``...

    不分亚组的描述统计

    MASS包中的数据集birthwt为示例。

    使用向量操作计算单个变量的描述统计量

    • 单个变量统计函数计算的基本语法:统计函数(数据框$变量名)
    • 关于基本统计函数的更多内容,参见这里

    计算汇总了多个变量的数据框的描述统计量:sapply()

    使用dplyr包中的select,汇总数据框中的数值型变量。为防止重名导致的混淆,包名::函数名特指调用指定包内的函数。

    > data(birthwt,package = "MASS")
    > cont.vars<-dplyr::select(birthwt,age,lwt,bwt)
    

    使用sapply(数据框名,统计函数名),计算该数据框内所有变量的指定描述统计结果。

    > sapply(cont.vars,mean)
          age       lwt       bwt 
      23.2381  129.8148 2944.5873 
    > sapply(cont.vars,sd)
           age        lwt        bwt 
      5.298678  30.579380 729.214295 
    > sapply(cont.vars,min)
    age lwt bwt 
     14  80 709 
    > sapply(cont.vars,max)
     age  lwt  bwt 
      45  250 4990 
    

    注意变量必须全为数值型 (预先使用select()挑选的原因)否则会报错:

    > sapply(birthwt,mean)
             low          age          lwt         race 
              NA   23.2380952  129.8148148           NA 
           smoke          ptl           ht           ui 
              NA    0.1957672           NA           NA 
             ftv          bwt 
       0.7936508 2944.5873016 
    Warning messages:
    1: In mean.default(X[[i]], ...) : 参数不是数值也不是逻辑值:回覆NA
    2: In mean.default(X[[i]], ...) : 参数不是数值也不是逻辑值:回覆NA
    3: In mean.default(X[[i]], ...) : 参数不是数值也不是逻辑值:回覆NA
    4: In mean.default(X[[i]], ...) : 参数不是数值也不是逻辑值:回覆NA
    5: In mean.default(X[[i]], ...) : 参数不是数值也不是逻辑值:回覆NA
    > sapply(birthwt,sd)
    Error in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm = na.rm) : 
      Calling var(x) on a factor x is defunct.
      Use something like 'all(duplicated(x)[-1L])' to test for a constant vector.
    

    psych包:describe()

    psych包下describe()可以汇总的形式计算数据框内所有变量的常见描述统计量,忽略缺失值。注意所有分类变量都会被当作数值变量处理。

    > library(psych)
    > describe(birthwt)
           vars   n    mean     sd median trimmed    mad
    low*      1 189    1.31   0.46      1    1.27   0.00
    age       2 189   23.24   5.30     23   22.90   5.93
    lwt       3 189  129.81  30.58    121  126.07  20.76
    race*     4 189    1.85   0.92      1    1.81   0.00
    smoke*    5 189    1.39   0.49      1    1.37   0.00
    ptl       6 189    0.20   0.49      0    0.08   0.00
    ht*       7 189    1.06   0.24      1    1.00   0.00
    ui*       8 189    1.15   0.36      1    1.07   0.00
    ftv       9 189    0.79   1.06      0    0.62   0.00
    bwt      10 189 2944.59 729.21   2977 2961.76 834.70
           min  max range  skew kurtosis    se
    low*     1    2     1  0.80    -1.36  0.03
    age     14   45    31  0.71     0.53  0.39
    lwt     80  250   170  1.38     2.25  2.22
    race*    1    3     2  0.31    -1.75  0.07
    smoke*   1    2     1  0.44    -1.82  0.04
    ptl      0    3     3  2.76     8.17  0.04
    ht*      1    2     1  3.55    10.67  0.02
    ui*      1    2     1  1.97     1.87  0.03
    ftv      0    6     6  1.56     3.00  0.08
    bwt    709 4990  4281 -0.21    -0.14 53.04
    

    分亚组的描述统计

    aggregate()

    基本语法:aggregate(数据框名,by=list(变量名=数据框名$变量名),统计函数名)。若其中存在分类变量,会报错。

    > aggregate(cont.vars,by=list(smoke=birthwt$smoke),mean)
      smoke      age      lwt      bwt
    1    no 23.42609 130.8957 3055.696
    2   yes 22.94595 128.1351 2771.919
    

    list()中可并列多个分类变量以实现交叉分组下的统计。

    > aggregate(cont.vars,by=list(smoke=birthwt$smoke,race=birthwt$race),mean)
      smoke  race      age      lwt      bwt
    1    no white 26.02273 138.8409 3428.750
    2   yes white 22.82692 126.3077 2826.846
    3    no black 19.93750 149.4375 2854.500
    4   yes black 24.10000 142.6000 2504.000
    5    no other 22.36364 119.1455 2815.782
    6   yes other 22.50000 124.0000 2757.167
    

    epiDisplay包:summ()

    基本语法:summ(变量名,by=数据框名$分类变量名)

    > summ(birthwt$bwt,by=birthwt$smoke)
    For birthwt$smoke = no 
     obs. mean     median  s.d.    min.   max.  
     115  3055.696 3100    752.657 1021   4990  
    
    For birthwt$smoke = yes 
     obs. mean     median  s.d.    min.   max.  
     74   2771.919 2775.5  659.635 709    4238  
    

    除了输出基本统计量之外,同时还会输出一张图,用于探索数据的趋势、离群值很方便:
    在这里插入图片描述

    psych包:describeBy()

    基本语法:describeBy(数据框名,数据框名$分类变量名)

    > describeBy(birthwt,birthwt$smoke)
    
     Descriptive statistics by group 
    group: no
           vars   n    mean     sd median trimmed    mad
    low*      1 115    1.25   0.44      1    1.19   0.00
    age       2 115   23.43   5.47     23   23.09   4.45
    lwt       3 115  130.90  28.43    124  127.62  20.76
    race*     4 115    2.10   0.93      2    2.12   1.48
    smoke*    5 115    1.00   0.00      1    1.00   0.00
    ptl       6 115    0.12   0.38      0    0.01   0.00
    ht*       7 115    1.06   0.24      1    1.00   0.00
    ui*       8 115    1.13   0.34      1    1.04   0.00
    ftv       9 115    0.82   0.98      1    0.68   1.48
    bwt      10 115 3055.70 752.66   3100 3086.14 816.91
            min  max range  skew kurtosis    se
    low*      1    2     1  1.13    -0.74  0.04
    age      14   45    31  0.77     1.00  0.51
    lwt      85  241   156  1.30     2.00  2.65
    race*     1    3     2 -0.19    -1.82  0.09
    smoke*    1    1     0   NaN      NaN  0.00
    ptl       0    2     2  3.19    10.13  0.04
    ht*       1    2     1  3.63    11.24  0.02
    ui*       1    2     1  2.17     2.72  0.03
    ftv       0    4     4  1.20     1.15  0.09
    bwt    1021 4990  3969 -0.28    -0.32 70.19
    --------------------------------------- 
    group: yes
           vars  n    mean     sd median trimmed    mad
    low*      1 74    1.41   0.49    1.0    1.38   0.00
    age       2 74   22.95   5.05   22.0   22.60   5.93
    lwt       3 74  128.14  33.79  120.0  123.58  22.24
    race*     4 74    1.46   0.76    1.0    1.33   0.00
    smoke*    5 74    2.00   0.00    2.0    2.00   0.00
    ptl       6 74    0.31   0.62    0.0    0.18   0.00
    ht*       7 74    1.07   0.25    1.0    1.00   0.00
    ui*       8 74    1.18   0.38    1.0    1.10   0.00
    ftv       9 74    0.76   1.18    0.0    0.53   0.00
    bwt      10 74 2771.92 659.63 2775.5 2782.55 630.10
           min  max range  skew kurtosis    se
    low*     1    2     1  0.38    -1.88  0.06
    age     14   35    21  0.55    -0.73  0.59
    lwt     80  250   170  1.45     2.22  3.93
    race*    1    3     2  1.23    -0.16  0.09
    smoke*   2    2     0   NaN      NaN  0.00
    ptl      0    3     3  2.11     4.46  0.07
    ht*      1    2     1  3.38     9.53  0.03
    ui*      1    2     1  1.67     0.80  0.04
    ftv      0    6     6  1.85     4.03  0.14
    bwt    709 4238  3529 -0.28     0.23 76.68
    

    类似于describe(),该函数会把所有分类变量都会被当作数值变量处理。

    展开全文
  • 记得第一次接触“不使用中间变量交换两个数值型变量的值”这个概念是在学习算法的时候,课本后有这样一道课后题,当时想到的方法就是现在所说的加减法。后来在编程和学习的过程中又发现了几种方法,特写此帖,总结...
  • 摘要:C#源码,综合实战,数据库查询 Visual C#利用变量查询数值型数据,不多介绍了,就是在SQL中使用变量查询数值型数据,用窗体呈现,如上图所示,数据库附在Database文件夹中。
  • 但对于数值型变量,如整数型与浮点型,则是一个问题。最初的思路:   int a = 3; MessageBox(NULL, TEXT("") + a, TEXT("Test"), MB_OK);   Java中,字符串+数值 = 字符串,但在C++中行不通。   Win32中的...
  • 摘要:VB源码,数据库应用,数据库查询 VB利用变量查询数值型数据,数据库采用的是Access,新手参考。
  • 文章目录强类型语言与弱类型语言关键字:与编译器沟通的桥梁定义变量C语言中整型数值的表示方法浮点变量整型相关知识的扩充浮点相关知识的扩充 视频地址:https://www.bilibili.com/video/av73897402 强类型语言与弱...
  • 1、演示通过类向导建立控件型关联变量的方法; 2、演示通过类向导对一部分控价建立数值型关联变量; 3、演示数值型关联变量的数据更新方法; 4、讲解控件型关联变量数值型关联变量的原理;
  • R语言将字符型(Character)变量转化为数值型(Numeric) 目录 R语言将字符型(Character)变量转化为数值型(Numeric) #基本语法 # 仿真数据 #从字符型到数值型 # 把dataframe中所有数据字符类型转化为...
  • # # 既然因变量是nox,那么让我们一起来看一下它是如何分布 # summary(data$nox) # # 因为平均数大于中位数,表明NOX的分布是右偏的,我们可以用直方图证实这一点。 # # hist(data$nox) # # 探索特征之间...
  • 1、使用数值型关联变量实现数据录入对话框的功能; 2、使用数值型关联变量实现数据修改对话框的功能; 3、通过以上两个功能开发,演示数值型关联变量的高级应用。
  • matlab读取cell型变量中的数值

    千次阅读 2014-05-15 14:38:00
    这时要读取其数值型数据往往会存在很多问题,很多人提倡用cell2mat,再由str2num函数转为数值型数据 这种方法只适合于每个cell型变量中只包含数值的情况,如‘234’,‘234345’; 假如一个cell型数据中是一个多维...
  • 如何快速提取出数据集里的数值型变量或者分类变量?如何根据数据格式,提取其中一类格式的所有数据?比如提取出数据集中所有float格式的数据。
  • String test = "23"; int x = Integer.parseInt(test); x=x+1; System.out.println(x); 结果显示: 24
  • python变量分箱常见手法
  • 标称型、数值型

    千次阅读 2017-05-19 22:34:17
    标称型:标称型目标变量的结果只在有限目标集中取值,如真与假(标称型目标变量主要用于分类)标称型:标称...数值型数值型目标变量则可以从无限的数值集合中取值,如0.100,42.001等 (数值型目标变量主要用于回归分析)
  • 假设000001、000012、000123、002345、600356、600378为某些上市公司证券代码,上市公司实证研究中,常常需要用到上市公司证券代码,将字符型转为数值型比较容易,直接用destring命令即可实现,但是数值型转为字符型...
  • 浮点型变量和字符型变量

    千次阅读 2019-04-18 21:46:04
    今天来说说起浮点型变量和字符型变量 顾名思义,浮点类型变量是用来存储带有小数的实数的。 C语言中有三种不同的浮点类型,以下是对这三种不同类型的声明示例: float Amount; /单精度型/ double; /双精度型/ ...
  • 举个例子 ...- apply(BreastCancer[,2:10],2,as.numeric) # 将2-10列的数据变成数值型 BreastCancer <- data.frame(BreastCancer1, BreastCancer[,11]) names(BreastCancer)[names(BreastCance
  • int型和char型变量是如何相互赋值的

    千次阅读 2019-03-14 21:26:26
    整型和字符是互通的,他们是在内存中存储的本质是相同的,只是存储的范围不同而以,整型可以是2字节,4字节,8字节,而字符只占1字节。 #include&lt;stdio.h&gt; int main(void) { int i = 128; char ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 267,110
精华内容 106,844
关键字:

属于数值型变量的是