日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

r语言转化为python_数值型与字符型转换总结|R语言

發布時間:2023/12/1 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 r语言转化为python_数值型与字符型转换总结|R语言 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在日常碰到問題時出現當前“數據類型不能進行操作”的提示時還是有些腦殼疼,所以這次整理了針對R數據類型轉換的總結。理論部分主要是R for Data Science的向量節選翻譯、《R語言實戰》第二章2.2創建數據結構、《R in a Nutshell》以及猴子老師的向量ppt。

————文章結構——————

一、理論知識向量、矩陣、數據框等基本介紹

integer和double的區別

向量和因子區別

tibble和data frame區別

二、舉個例子某一列文本轉為數字

某一列數字轉為文本

三、總結一下

——————————————

一、理論知識

1.向量、矩陣、數據框等基本介紹

有兩種類型的向量:

(1)原子向量,其中有六種類型:logical,integer, double, character, complex和 raw,integer和double統稱為numeric(數值)向量。

(2)列表,有時稱為遞歸向量,因為列表可以包含其他列表。

原子向量和列表之間的主要區別在于原子向量是均勻的,而列表可以是異構的(即列表的數據結構可以不一致)。還有一個相關的對象:NULL。NULL通常用于表示缺少矢量(與NA用于表示矢量中缺少值的情況相反)。NULL通常表現為長度為0的矢量。下圖為關系圖。圖片來源:http://r4ds.had.co.nz/vectors.html

可以說,向量是最基本存在,那么向量和矩陣、數組、數據框這些又是什么關系呢?

向量最基礎。

數組:多維的向量(向量可以理解為一維數組,矩陣可以理解為二維數組)

#一維數組(向量)

a

a

#二維數組(矩陣)

b

b

#多維數組(還是數組)

c

c

結果:

這里補充以下,如果矩陣按列填充,需要加上byrow=T

b

而對于數據框,我的理解是,我們最常使用的excel表就是數據框模式,比如醫院數據,病人編號、性別、血型,每一列都是相同的數據結構,結合成一個大表供我們分析。

2.integer和double區別

數值型向量包含兩種類型:integer和double

我以前老糾結啥時候辨別這兩類數值型向量呢?看圖來操作:

查看數據類型最好用typeof,可以看出double比int要普遍一些,一般的c(1,2,3)都是double,但如果都加了L,變為integer了。這兩類數值型向量不用太擔心二者關系,一般R可以內部自動轉換這兩類數值然后計算。

也可以轉換,轉換代碼為:

as.double()

as.integer()

3.向量和因子區別

另一個例子:

上圖來源:書

再舉個例子圖片來源:http://www.cyclismo.org/tutorial/R/types.html

總結來說,就是屬于類別的向量最好轉化為因子。比如性別(男、女)、成績評級(優秀、良好、及格、不及格),這也說明了為什么總會看到stringasfactor=False.我們一般不選擇把向量先全部轉為因子,面對分類型變量才考慮那么做。

4.tibble和data frame區別

這兩個功能可以說完全一樣,只是在看書過程中發現tibble慢慢比data frame更流行起來,詳情可以見這篇文章tibble 1.0.0 | RStudio Blog,在導入dplyr包后,用tibble比用data frame更快捷簡潔,tbl_df代替了table(好吧我想說,一般還是用data frame,在用到dplyr包時,改用tibble就行)

二、舉個例子

1.某一類文本轉為數字

有一組這樣的數據,我想把性別一欄轉為女為1,男為2,方便計算,如何做?

setwd("c:\\Users\\Administrator\\desktop")

data1

typeof(data1)

table(data1$children)

a

b

data1$gender

結果如下:

貌似可以,但查看結構類型,還是字符串形式,需要轉為數值型才能進行后續計算。

data1$gender " />

不用擔心了,已經完全轉換好了。

2.某一類數字轉為文本

還是這個例子,如果想把children一列轉為yes(孩子數>0)和no(孩子數=0),如何做?

輸入代碼:

data1$children[data1$children > 0]

data1$children[data1$children == 0]

data1$children

levels=c(0,1),

labels=c("No","Yes"))

顯示結果:

這里補充一句,函數factor()可為類別型變量創建值標簽,代碼中levels代表變量實際值,labels表示包含了理想值標簽的字符型向量。

三、總結一下

本文為數據結構的溫習,感覺向量是地基,地基里有土渣渣(有數值型【數值型又包括double和integer】,邏輯型【TRUE,FALSE,NA】,字符型等),整個房子是數組,地基+一樓是向量,二樓是矩陣,房子和附近居民區構成數據框。

文本轉為數值型(用sub替換 --> as.numeric一下)

數值型轉為文本(先轉為factor形式,再創建標簽)

嗯,完結撒花~~~

總結

以上是生活随笔為你收集整理的r语言转化为python_数值型与字符型转换总结|R语言的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。