亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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ǔ)言:變量名稱(chēng)和字符串的轉(zhuǎn)換

在R語(yǔ)言中,經(jīng)常會(huì)遇到變量名稱(chēng)和字符串相互轉(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ǔ)言ggplot2邊框背景去除的實(shí)現(xiàn)

    R語(yǔ)言ggplot2邊框背景去除的實(shí)現(xiàn)

    這篇文章主要介紹了R語(yǔ)言ggplot2邊框背景去除的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • R語(yǔ)言數(shù)據(jù)可視化繪圖Slope chart坡度圖畫(huà)法

    R語(yǔ)言數(shù)據(jù)可視化繪圖Slope chart坡度圖畫(huà)法

    這篇文章主要為大家介紹了R語(yǔ)言數(shù)據(jù)可視化繪圖Slope?chart坡度圖的畫(huà)法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-02-02
  • R語(yǔ)言是什么 R語(yǔ)言簡(jiǎn)介

    R語(yǔ)言是什么 R語(yǔ)言簡(jiǎn)介

    R是用于統(tǒng)計(jì)分析、繪圖的語(yǔ)言和操作環(huán)境。R是屬于GNU系統(tǒng)的一個(gè)自由、免費(fèi)、開(kāi)源的軟件,它是一個(gè)用于統(tǒng)計(jì)計(jì)算和統(tǒng)計(jì)制圖的優(yōu)秀工具
    2021-03-03
  • R語(yǔ)言基礎(chǔ)數(shù)據(jù)類(lèi)型的具體使用

    R語(yǔ)言基礎(chǔ)數(shù)據(jù)類(lèi)型的具體使用

    本文主要介紹了R語(yǔ)言基礎(chǔ)數(shù)據(jù)類(lèi)型的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • R語(yǔ)言boxplot函數(shù)深入講解

    R語(yǔ)言boxplot函數(shù)深入講解

    這篇文章主要介紹了R語(yǔ)言boxplot函數(shù)深入講解,文中圖文講解的很透徹,有感興趣的同學(xué)可以研究下
    2021-03-03
  • R語(yǔ)言繪圖數(shù)據(jù)可視化pie?chart餅圖

    R語(yǔ)言繪圖數(shù)據(jù)可視化pie?chart餅圖

    這篇文章主要介紹了R語(yǔ)言繪圖數(shù)據(jù)可視化pie?chart餅圖,教大家如何用R語(yǔ)言來(lái)畫(huà)大餅,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2022-02-02
  • R語(yǔ)言ggplot在熱圖上標(biāo)注相關(guān)系數(shù)的操作方法

    R語(yǔ)言ggplot在熱圖上標(biāo)注相關(guān)系數(shù)的操作方法

    R語(yǔ)言是一種開(kāi)源、免費(fèi)的編程語(yǔ)言,主要用于統(tǒng)計(jì)分析、圖形化和機(jī)器學(xué)習(xí),這篇文章主要介紹了R語(yǔ)言ggplot怎么在熱圖上標(biāo)注相關(guān)系數(shù),需要的朋友可以參考下
    2024-07-07
  • R語(yǔ)言隨機(jī)抽樣詳解

    R語(yǔ)言隨機(jī)抽樣詳解

    這篇文章主要介紹了R語(yǔ)言隨機(jī)抽樣,從總體中抽取樣本的方法很多,最常用的方法是簡(jiǎn)單隨機(jī)抽樣,本文給大家詳細(xì)講解結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-11-11
  • R語(yǔ)言批量讀取某路徑下文件內(nèi)容的方法

    R語(yǔ)言批量讀取某路徑下文件內(nèi)容的方法

    批量地做就是解放雙手地過(guò)程,本文主要介紹了R語(yǔ)言批量讀取某路徑下文件內(nèi)容的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • R語(yǔ)言之反轉(zhuǎn)ggplot2中的圖例鍵順序方法詳解

    R語(yǔ)言之反轉(zhuǎn)ggplot2中的圖例鍵順序方法詳解

    在本教程中,我們將學(xué)習(xí)如何反轉(zhuǎn)ggplot2中圖例鍵的順序,文章通過(guò)詳細(xì)的示例代碼給大家介紹如何反轉(zhuǎn)ggplot2中的圖例鍵順序,感興趣的同學(xué)可以跟著小編一起來(lái)學(xué)習(xí)
    2023-05-05

最新評(píng)論