最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

R語(yǔ)言:實(shí)現(xiàn)因子與字符串的互轉(zhuǎn)

 更新時(shí)間:2021年04月19日 11:40:51   作者:蟻方陣  
這篇文章主要介紹了R語(yǔ)言:實(shí)現(xiàn)因子與字符串的互轉(zhuǎn)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

在導(dǎo)入大批量數(shù)據(jù)時(shí),如果沒(méi)有顯式地指定“stringsAsFactors = FALSE”,默認(rèn)會(huì)將所有的字符串轉(zhuǎn)換為因子,導(dǎo)致數(shù)據(jù)處理速度較慢。

示例數(shù)據(jù)如下:

name,math,english,sex,year
"yiifaa",65,68,"M",2018
"yiifee",95,98,"F",2018
"guagua",75,78,"M",2018
"MM",85,88,"F",2018

查看數(shù)據(jù)概要,發(fā)現(xiàn)默認(rèn)將字符串轉(zhuǎn)換為因子,并進(jìn)行了分組計(jì)數(shù)(這也是處理速度較慢的原因之一)

概要如下:

  name        math         english     sex        year     
 guagua:1   Min.   :65.0   Min.   :68.0   F:2   Min.   :2018  
 MM    :1   1st Qu.:72.5   1st Qu.:75.5   M:2   1st Qu.:2018  
 yiifaa:1   Median :80.0   Median :83.0         Median :2018  
 yiifee:1   Mean   :80.0   Mean   :83.0         Mean   :2018  
            3rd Qu.:87.5   3rd Qu.:90.5         3rd Qu.:2018  
            Max.   :95.0   Max.   :98.0         Max.   :2018  

但這樣的分組計(jì)數(shù)并沒(méi)有意義,所以需要利用“as.character”轉(zhuǎn)換為字符,如下:

#! /usr/bin/env RScript
setwd("D:/Workspace/R-Works/R-Stat")
scores <- read.table("Score.txt", header = TRUE, sep = ",", quote="\"", encoding = "UTF-8", stringsAsFactors = TRUE)
# 將因子轉(zhuǎn)換為字符
scores$name <- as.character(scores$name)
# 多轉(zhuǎn)一個(gè)進(jìn)行測(cè)試
scores$sex <- as.character(scores$sex)

再次查看概要,如下:

name                math         english         sex                 year     
 Length:4           Min.   :65.0   Min.   :68.0   Length:4           Min.   :2018  
 Class :character   1st Qu.:72.5   1st Qu.:75.5   Class :character   1st Qu.:2018  
 Mode  :character   Median :80.0   Median :83.0   Mode  :character   Median :2018  
                    Mean   :80.0   Mean   :83.0                      Mean   :2018  
                    3rd Qu.:87.5   3rd Qu.:90.5                      3rd Qu.:2018  
                    Max.   :95.0   Max.   :98.0                      Max.   :2018  

可以看到,概要中已經(jīng)沒(méi)有了分組計(jì)數(shù),但多了總數(shù)計(jì)量,如果要恢復(fù)分組計(jì)數(shù),則需要重新創(chuàng)建因子,如下:

scores$sex <- factor(scores$sex, levels=c("M", "F"), ordered = TRUE)

結(jié)論

在導(dǎo)入大批量數(shù)據(jù)時(shí),為了提高性能,盡可能分兩步走:

1. 顯式指定“stringsAsFactors = FALSE”;

2. 依次將所需要的數(shù)據(jù)列(向量)轉(zhuǎn)換為因子;

補(bǔ)充:R語(yǔ)言:變量名稱和字符串的轉(zhuǎn)換

在R語(yǔ)言中,經(jīng)常會(huì)遇到變量名稱和字符串相互轉(zhuǎn)換的問(wèn)題。

比如說(shuō),進(jìn)行1000次循環(huán)運(yùn)算,并將運(yùn)算結(jié)果存儲(chǔ)在1000個(gè)變量中,如x_1, x_2, ... , x_1000。這時(shí)候可以使用assign()函數(shù),示例如下:

> a
錯(cuò)誤: 找不到對(duì)象'a'
> assign('a', 1)
> a
[1] 1

上面的例子將字符'a'轉(zhuǎn)變?yōu)樽兞縜,并將其賦值為1 。

相反,如果我們想遍歷一個(gè)變量序列,并對(duì)其中的每一個(gè)變量都進(jìn)行操作,該怎么辦呢?我們可以使用get()函數(shù)。示例如下:

> a <- 1
> b <- 2
> c <- 3
> sequence <- c('a', 'b', 'c')
> for (var in sequence){print(var + 10)}

錯(cuò)誤于var + 10 : 二進(jìn)列運(yùn)算符中有非數(shù)值參數(shù)

> for (var in sequence){print(get(var) + 10)}
[1] 11
[1] 12
[1] 13

我們可以發(fā)現(xiàn),get函數(shù)將字符var轉(zhuǎn)變?yōu)樽兞?,并根?jù)變量的值進(jìn)行后續(xù)操作。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • R語(yǔ)言-如何給直方圖加標(biāo)簽

    R語(yǔ)言-如何給直方圖加標(biāo)簽

    這篇文章主要介紹了R語(yǔ)言-如何給直方圖加標(biāo)簽,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-04-04
  • R語(yǔ)言中dnorm,pnorm,qnorm和rnorm的區(qū)別淺析

    R語(yǔ)言中dnorm,pnorm,qnorm和rnorm的區(qū)別淺析

    正在學(xué)習(xí)R語(yǔ)言統(tǒng)計(jì)學(xué)的小伙伴,可能會(huì)被各種專有名詞所困擾,下面這篇文章主要給大家介紹了關(guān)于R語(yǔ)言中dnorm,pnorm,qnorm和rnorm區(qū)別的相關(guān)資料,需要的朋友可以參考下
    2022-12-12
  • R語(yǔ)言實(shí)現(xiàn)嶺回歸的示例代碼

    R語(yǔ)言實(shí)現(xiàn)嶺回歸的示例代碼

    本文主要介紹了R語(yǔ)言實(shí)現(xiàn)嶺回歸的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • R語(yǔ)言運(yùn)算符知識(shí)點(diǎn)講解

    R語(yǔ)言運(yùn)算符知識(shí)點(diǎn)講解

    在本篇文章里小編給大家分享了一篇關(guān)于R語(yǔ)言運(yùn)算符知識(shí)點(diǎn)講解內(nèi)容,有興趣的朋友們可以參考下。
    2021-03-03
  • Rcpp和RcppArmadillo創(chuàng)建R語(yǔ)言包的實(shí)現(xiàn)方式

    Rcpp和RcppArmadillo創(chuàng)建R語(yǔ)言包的實(shí)現(xiàn)方式

    這篇文章主要為大家介紹了Rcpp和RcppArmadillo創(chuàng)建R包實(shí)現(xiàn)方式,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2021-11-11
  • R語(yǔ)言中corrplot標(biāo)題居中及eps格式輸出

    R語(yǔ)言中corrplot標(biāo)題居中及eps格式輸出

    由于論文的需要,很多R語(yǔ)言繪圖需要eps格式矢量圖的方式進(jìn)行輸出,同時(shí)最近也需要繪制相關(guān)性圖,因此決定寫(xiě)個(gè)博客作為記錄,有需要的朋友可以借鑒參考下
    2021-11-11
  • R語(yǔ)言which函數(shù)介紹及Rcpp改寫(xiě)詳解

    R語(yǔ)言which函數(shù)介紹及Rcpp改寫(xiě)詳解

    有的時(shí)候我們需要找到一個(gè)數(shù)據(jù)子向量中的位置,我們就可以使用which函數(shù),下面這篇文章主要給大家介紹了關(guān)于R語(yǔ)言which函數(shù)介紹及Rcpp改寫(xiě)的相關(guān)資料,需要的朋友可以參考下
    2022-07-07
  • R語(yǔ)言判斷語(yǔ)句的使用詳解

    R語(yǔ)言判斷語(yǔ)句的使用詳解

    這篇文章主要介紹了R語(yǔ)言判斷語(yǔ)句的使用詳解,幫助大家更好的理解和學(xué)習(xí)使用R語(yǔ)言,感興趣的朋友可以了解下
    2021-03-03
  • R語(yǔ)言邏輯型運(yùn)算的實(shí)現(xiàn)

    R語(yǔ)言邏輯型運(yùn)算的實(shí)現(xiàn)

    本文主要介紹了R語(yǔ)言邏輯型運(yùn)算,邏輯型是 R 的基本數(shù)據(jù)類型之一,只有兩個(gè)值 TRUE 和 FALSE, 缺失時(shí)為 NA,具有一定的參考價(jià)值,感興趣的可以了解一下
    2022-03-03
  • R語(yǔ)言入門(mén)之安裝R和Rstuido軟件

    R語(yǔ)言入門(mén)之安裝R和Rstuido軟件

    這篇文章主要介紹了R語(yǔ)言入門(mén)之安裝R和Rstuido軟件,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03

最新評(píng)論

邢台县| 工布江达县| 梨树县| 蚌埠市| 即墨市| 柳州市| 汝州市| 棋牌| 永仁县| 卫辉市| 顺义区| 榆林市| 云霄县| 随州市| 麟游县| 惠东县| 山阴县| 克东县| 安顺市| 偏关县| 台山市| 丹棱县| 瑞丽市| 拉孜县| 通化县| 朝阳县| 宜都市| 杭锦旗| 东乡县| 红桥区| 阳原县| 晋江市| 辉南县| 罗平县| 绥阳县| 陆良县| 浑源县| 松溪县| 呈贡县| 分宜县| 贵州省|