日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

r语言调用dll出现错误载入表里没有c字符名,R语言(示例代码)

發(fā)布時間:2024/9/30 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 r语言调用dll出现错误载入表里没有c字符名,R语言(示例代码) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1、R語言介紹

R和RStudio 是與計算機進行對話的兩個工具

RStudio 是話筒

R是溝通所用的語言

R的由來:基于S語言,由新西蘭奧克蘭大學的Robert Gentleman和Ross Ihaka開發(fā),因兩位開發(fā)者名字首字母都是R,所以該語言命名為R。

怎樣理解R

一種計算機語言

一種用于統(tǒng)計分析、繪圖的操作環(huán)境

用戶接口

R 語言特點

R 是一款開源、免費的軟件,可以跨平臺運行

R 提供了非常豐富的統(tǒng)計分析技術

有很多非常實用并包含最新技術的R包,而且更新速度非常快

R的繪圖功能十分強大

軟件界面:

配置文件,選擇SDI單窗口

選擇save進行直接保存修改,不需要更改路徑

效果圖:

R環(huán)境下的提示符:

2、R包的安裝

下載包:

查看所有包的命名:

(.packages(all=T))

加載包命令:

沒有任何提示表示結果正常

向量的長度=向量的個數(shù)

字符串向量,雙引號 “ ”

c函數(shù):拼接功能

同時下載兩個包

install.packages(c("reshape2","dplyr"))

創(chuàng)建R對象

R語言區(qū)分大小寫

對象sz

1:6數(shù)值

sz

連續(xù)賦值:

ls()函數(shù)調取所有對象

get()函數(shù)得到變量的數(shù)值

刪除對象:

刪除所有對象

rm(list=ls())

統(tǒng)計函數(shù)

sum()

sz+1:2

sz+1:4

元素方式運算

R使用元素執(zhí)行方式運算的機制:匹配向量,獨立操作每對元素

如果兩個向量長度不等,R會在較短的向量上重復

以上這種行為在R中被稱為向量循環(huán),幫助R執(zhí)行元素方式運算

矩陣乘法:當需要使用矩陣乘法時,需要做出專門的請求

計算向量的內(nèi)積:sz%*%sz

計算向量的外積:sz%o%sz

轉置:t()

計算矩陣的行列式:det()

sz*sz 平方運算

sz%*%sz? 一行一列

sz%o%sz

c(2,5,6,8)%o%c(3,7)

項目一:

用sample()函數(shù),抽取1:6的隨機數(shù),抽取兩次

sample函數(shù)可以完成隨機抽樣處理,其基本形式為:

sample(x, size, replace= FALSE)

replace=False 表示不可放回抽樣

用replicate()函數(shù)執(zhí)行100次

replace=TRUE/replace=T可放回抽樣

基于名稱的傳參和基于位置的傳參

基于位置的傳參必須嚴格按照位置順序,否則出錯

自定義函數(shù)------------調用函數(shù)

練習:重復執(zhí)行10次鄭色子,得到10個點數(shù)和

首先自定義函數(shù),再調用函數(shù)

直接調用前面定義的函數(shù)

修改函數(shù)fix(函數(shù)名)

傳參處理:

生成等差數(shù)列函數(shù)seq

seq(...)## Default S3 method:

seq(from = 1, to = 1, by = ((to - from)/(length.out - 1)),

length.out= NULL, along.with =NULL, ...)

seq.int(from, to, by, length.out, along.with, ...)

seq_along(along.with)

seq_len(length.out)

輸出9個

伴隨向量:

生成步長為1的等差數(shù)列

乘方運算

繪制一個散點圖:兩個變量的關系

直方圖

直方圖的橫縱坐標都是連續(xù)的,強調的是數(shù)值連續(xù)的變化規(guī)律,可以表示兩個變量

> xx

[1] 1 2 3 3 3

> qplot(x)

qplot(x,binwidth=1)

當次數(shù)夠多滿足正態(tài)分布

zn qplot(zn,binwidth=1)

# 入樣概率 prob控制概率

>zsz

function(sk){

skn

sum(skn)

}> zn qplot(zn,binwidth=1)

#添加入樣概率,6點概率是其他點數(shù)概率的3倍

function(sk=1:6){

skn

sum(skn)

}

向量的循環(huán):

> rep(1:3,times=3)

[1] 1 2 3 1 2 3 1 2 3

> rep(1:3,each=3)

[1] 1 1 1 2 2 2 3 3 3

> rep(1:3,times=c(1,3,2))

[1] 1 2 2 2 3 3

>

字符串連接函數(shù)paste

paste()

其中...表示一個或多個R可以被轉化為字符型的對象;參數(shù)sep表示分隔符,默認為空格;

項目二-設計撲克牌模擬系統(tǒng)

要求:自動洗牌、發(fā)牌

任務一:創(chuàng)建一副牌。學會如何使用R的數(shù)據(jù)類型和數(shù)據(jù)結構。

任務二:編寫發(fā)牌和洗牌的函數(shù)。學習從一個數(shù)據(jù)集中抽取想要的數(shù)值。

任務三:改變點數(shù)系統(tǒng)。學習在數(shù)據(jù)的內(nèi)部改變數(shù)據(jù)的取值

任務四:管理撲克牌的狀態(tài)。學習R的環(huán)境系統(tǒng)和作用域規(guī)則。

原子型向量

數(shù)據(jù)結構:數(shù)據(jù)結構是存儲、組織數(shù)據(jù)的方式,是數(shù)據(jù)內(nèi)部的構成方法。

原子型向量:R里面最簡單的數(shù)據(jù)類型,是構成其他對象類型的基本元素。

原子型向量的特點:每個原子型向量都將一種類型的數(shù)據(jù)存儲在一個一維向量中。

原子型向量的分類:

雙整型:存儲普通的數(shù)值型數(shù)據(jù);

> x1x1

[1] 1 2 3 4 5 6

> is.vector(x1)

[1] TRUE>length(x1)

[1] 6

>typeof(x1)

[1] "double"

整型:存儲整型的數(shù)據(jù);

> intint

[1] -1 2 4

字符型:存儲文本型數(shù)據(jù);

邏輯型:用來存儲TRUE和FALSE這兩個布爾數(shù)據(jù)。

> logiclogic

[1] TRUE FALSE>typeof(logic)

[1] "logical"

復數(shù)型和原始類型:分別來存儲復數(shù)和數(shù)據(jù)的原始字節(jié)。is.vector():查看某個對象是否為向量。

typeof():查看某個對象的數(shù)據(jù)類型

#練習:生成一個原子型向量,來存儲同花順的牌面

同一種花色的順子,比如黑桃的 A 、 K 、 Q 、 J 、 10

R-屬性

屬性:附加給原子型向量的額外信息。

attributes():查看一個對象包含哪些屬性信息。

原子向量最常見的三種屬性:名稱、維度和類。每種屬性都有自己的輔助函數(shù)。

練習1:給骰子的每個點數(shù)命名,并查看。

命名向量:

> klkl

a b1 2

關于維度:dim()函數(shù)可以將一個原子型向量轉換為一個n維數(shù)組。

> dim(sz)sz

[,1] [,2] [,3]

[1,] 1 3 5[2,] 2 4 6

>

練習2:將一個向量轉換為矩陣,并查看數(shù)據(jù)排列方式。

dim(sz)

練習3:用matrix()函數(shù)創(chuàng)建矩陣。

3行2列

2行3列

練習4:用array()函數(shù)創(chuàng)建數(shù)組。

2行3列,4個切片

typeof():查看某個對象的數(shù)據(jù)類型

R--類

類:新的結構,新的格式。class():查看一個對象的類。

練習1:賦予向量以維度屬性,觀察其class屬性的變化。

用屬性系統(tǒng)表示更多的數(shù)據(jù)類型:日期時間與因子。

日期與時間:R用一個特殊的類來表示日期和時間數(shù)據(jù)。

POSIXct:一個被廣泛用于表示日期與時間的框架。

R處理規(guī)則:R函數(shù)在顯示該對象之前,會根據(jù)POSIXct標準將該時間轉換為用戶可以理解的字符串。

練習2:用Sys.time()函數(shù)查看當前系統(tǒng)時間,并查看該對象的類和類型。

>Sys.time()

[1] "2019-12-05 21:37:24 CST"

> nownow

[1] "2019-12-05 21:37:57 CST"

練習3:用unclass()函數(shù)移除對象的class屬性。

>now

[1] "2019-12-05 21:37:57 CST"

> class(now)

[1] "POSIXct" "POSIXt"

>typeof(now)

[1] "double"

>unclass(now)

[1] 1575553078

> #練習:1970年1月1日零點之后的100萬秒是哪一天?

> mil

> class(mil)mil

[1] "1970-01-12 21:46:40 CST"

R--因子

因子:存儲分類信息。

R中因子生成機制:R會將向量中的值重新編碼為一串整數(shù)值,再將編碼的結果存儲在一個整型向量中,

然后對其添加一個levels屬性和一個class屬性。其中l(wèi)evels屬性包含顯示因子值的一組標簽。

練習1:用factor()函數(shù)創(chuàng)建一個因子。

練習2:用as.character()函數(shù)將一個因子強制轉換為字符串。

問題:當在原子型向量中存儲多種類型的數(shù)據(jù)會發(fā)生什么問題呢?

integer整型向量

> xbxb

[1] female male male female

Levels: female male> class(xb)

[1] "factor"

>typeof(xb)

[1] "integer"

>as.numeric(xb)

[1] 1 2 2 1

強制轉換

R強制轉換所遵循的規(guī)則:

如果一個原子型向量包含字符串,R會將該向量中的所有元素都轉換成字符型。

如果一個原子型向量只包含邏輯型和數(shù)值型元素,R會將邏輯型全部轉換成數(shù)值型。

原因:單一數(shù)據(jù)類型的好處:數(shù)據(jù)操作更加直接和高效;而且就變量而言,變量中每個值度量的都是相同的屬性,

因此沒有必要使用不同的數(shù)據(jù)類型。

NA表示缺失值

> mnmn

[1] "男" "男" "女"

> sum(mn=="男")

[1] 2

> sum(mn=="女")

[1] 1

> sum(mn=="男")/sum(mn)

Errorin sum(mn) : ‘type‘(character)參數(shù)不對> sum(mn=="男")/sum(mn!="")

[1] 0.6666667

> sum(mn=="男")/length(mn)

[1] 0.6666667

> sum(mn=="男")/sum(c(mn=="男",mn=="女"))

[1] 0.6666667

> mean(mn=="男")

[1] 0.6666667

列表

列表:將數(shù)據(jù)組織在一個一維集合中。與原子型向量的區(qū)別在于,列表并不是將某些具體的值組織起來,而是組織R對象。

練習:用list()函數(shù)創(chuàng)建一個列表

[[]]:表示來自列表的哪一個元素。

雙索引系統(tǒng):因為列表的元素可以是任意一種R對象。

列表的特點:R中全能型的存儲工具。

下面最外層的list有三個元素

命名:

二維表

> data.frame(姓名=c("張三","李四"),成績=c(100,90))

姓名 成績1 張三 100

2 李四 90

數(shù)據(jù)框

數(shù)據(jù)框:列表的二維版本。將向量組織在一個二維表格中,每一個向量作為這個表格一列。

需要注意的問題:

不同的列可以包含不同的數(shù)據(jù)類型;

每一列必須具有相同的長度;

每個向量都有自己的名稱;

stringsAsFactors參數(shù)應設置為FALSE。

練習:用data.frame()函數(shù)創(chuàng)建一副牌。

> data.frame(姓名=c("張三","李四"),成績=c(100,90))->df>df

姓名 成績1 張三 100

2 李四 90

>typeof(df)

[1] "list"

stringsAsFactors=F

> data.frame(姓名=c("張三","李四"),成績=c(100,90),stringsAsFactors=F)->df>df

姓名 成績1 張三 100

2 李四 90

>str(df)‘data.frame‘: 2 obs. of 2variables:

$ 姓名: chr"張三" "李四"$ 成績: num100 90

RStudio設置

#項目二-構建一副撲克牌

pkp

hs=rep(c("紅桃","黑桃","梅花","方塊"),each=13),

ds=rep(1:13,times=4),

stringsAsFactors= F)

str(pkp)#查看pkp的前六條數(shù)據(jù)

head(pkp)

#查看pkp的前八條數(shù)據(jù)

head(pkp,n=8)#查看pkp的后六條數(shù)據(jù)

tail(pkp)

#查看當前的工作目錄

getwd()#設置工作目錄

setwd("C:\Users\Desktop\DT")#寫入外部文件

write.csv(pkp,file = "puke.csv",row.names = F)

#小結#第一個角度:從數(shù)據(jù)類型的角度#數(shù)據(jù)類型相同的,向量、矩陣、數(shù)組#數(shù)據(jù)類型不同的:列表、數(shù)據(jù)框

#第二個角度#一維結構:向量、矩陣#二維結構:矩陣、數(shù)據(jù)框#三維或三維以上結構:數(shù)組

選中要運行的代碼,執(zhí)行運行

#必知必會的函數(shù)#whichwhich.max()which.min()

#which:返回一個邏輯向量里面真值所在位置

which(c(T,F,T))

man

which(man=="男")#which.max():返回一個向量里面最大值所在位置

which.max(c(3,4,7))#which.min():返回一個向量里面最大值所在位置

which.min(c(3,4,7))#排序#第一種:直接排序

x

sort(x)

x

sort(x,decreasing =T)#第二種:間接排序

order(x)#第三種:倒著排

rev(x)

總結

以上是生活随笔為你收集整理的r语言调用dll出现错误载入表里没有c字符名,R语言(示例代码)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。