第4課(第2部分) 資料管理和視覺化

2021-10-06 12:06:31 字數 2817 閱讀 1186

在r中,對向量中的資料進行排序非常容易。您只需將向量傳遞給sort函式,便會生成新的排序向量。

預設的排序順序是公升序,但是可以使用argument == true來更改。

但是,在我們的場景中,資料不在向量中,而是在資料幀中。 讓我們檢查一下如何對包含在資料框中的資料進行排序。

2023年資料框包含三列:年份,名稱和頻率。

無需保留year屬性,因此我們決定過濾資料框以刪除year列。

這是乙個使用方括號符號的示例,該示例通過指定方括號內列名稱的字元向量來過濾掉year列。

如果您熟悉sql,則此任務等同於使用投影來指定sql語句的select列表中的列。

我們使用head()函式來驗證是否已刪除year列。 該函式顯示資料仍按名稱保留其原始排序順序。

要查詢最受歡迎的名稱,我們必須按頻率按降序或降序排序。

我們不能像對向量那樣使用函式排序,但是對於資料框,我們將在方括號表示法中使用order函式。

在這裡,我們希望通過降低頻率值對資料進行排序,並且所有列都應包含在我們的輸出中。

每當我們探索了乙個資料集並希望將其儲存以備將來參考時,我們都可以使用write()函式家族之一。

在這裡,我們看到了一些將2023年排序後的男性姓名匯出到逗號分隔值或csv檔案以及製表符分隔檔案中的示例。

在許多資料框中,行名實際上並不是用來標識資料的,因此我們使用row.names = false選項來避免在輸出檔案中寫入行名資訊。

到目前為止,我們已經在資料框架內處理了資料。 現在,讓我們使用資料視覺化或圖形視覺化資料趨勢。

在此任務中,我們希望提供一種互動式體驗,以便使用者可以提供乙個嬰兒名字,然後檢視其從2023年到2023年受歡迎程度的單個視覺化。

讓我們開始吧。

到目前為止,我們已經從外部檔案匯入了資料,但是之前我們還沒有獲得使用者的輸入。

為了視覺化嬰兒名字的趨勢,我們將決定使用基於2023年至2023年頻率的散點圖視覺化。

為此,我們建立乙個新的資料幀,該資料幀是使用者提供的名稱的頻率子集。 內建的toupper()函式用於將輸入的字串轉換為所有大寫字母,以便我們可以匹配儲存在data.frame中的資料。 我們還只需要year和frequency這兩個變數。 如果您熟悉sql,您可以想象使用sql select語句查詢的外觀,但是在r中我們做的事情有些不同。

然後,我們對資料框中的資料進行排序並呼叫plot()函式。

圖函式使用提供的值來生成視覺化。

繪圖是r中通用函式的乙個示例,因為它可以接受許多不同的資料格式,並且它將嘗試建立視覺化。

讓我們看一下視覺化。

當將資料作為2個變數的資料框提供給繪圖函式時,繪圖將為每個觀察結果使用圓建立散點圖。

請注意如何生成預設標籤和比例。

x和y軸標籤是根據定義的列名確定的。

接下來,我們將研究plot()函式的一些其他常用選項。

大多數視覺化應具有標題。 main引數用於為視覺化提供標題。

可以為每個軸指定標籤名稱,並且可以將列印方法從預設值更改為線條,階梯或其他表示形式。

讓我們看一下嬰兒名字資料框的另乙個示例。

該圖使用相同的資料,但是它使用貼上功能為我們的圖表構建了更精確的標題,並且圖的型別從使用圓圈更改為使用階梯。

r能夠幫助我們跨兩個變數發現資料集中的趨勢。 從這些資料中可以很明顯地看出,「 grant」的名字或名字在2023年代初最流行,從我們的早期分析中我們知道,它絕對不是2023年新生兒的前5名。

該圖使用相同的資料,但是它使用貼上功能為我們的圖表構建了更精確的標題,並且圖的型別從使用圓圈更改為使用階梯。

r能夠幫助我們跨兩個變數發現資料集中的趨勢。 從這些資料中可以很明顯地看出,「 grant」的名字或名字在2023年代初最流行,從我們的早期分析中我們知道,它絕對不是2023年新生兒的前5名。

讓我們再看乙個趨勢分析的例子,並學習更多的繪圖選項。

在此資料集中,我們計畫檢查2023年7月在多倫多的最高和最低溫度。

載入資料後,我們檢查資料幀的結構並決定繼續前進。

請注意,我們的資料中缺少一些風速值,但是我們僅檢查溫度,因此此時我們可以忽略此變數。

我們希望我們的圖表同時包含每月的每一天的最大值和最小值。

因此,我們需要確定值的範圍以正確設定軸。

在這裡,我們建立了乙個名為yrange的變數,其中包含當月的最低溫度和最高溫度。

在繪製資料時,我們將指定線寬為6畫素且顏色為藍色的線形圖型別。 y軸限制是使用我們的yrange向量指定的,並且在初始繪圖中也包含了標題。

至此,我們還沒有完成,因為我們現在希望將最高溫度和軸標籤新增到同一圖中。

par()函式可用於控制圖形的各種功能。 在這裡,我們告訴r我們的下乙個plot()函式呼叫應該重用現有的圖。

現在,我們新增了該月最高溫度的紅線。 我們還決定此時新增x和y軸標籤。

最後一步是將值的軸範圍包括到我們的圖表中。

r幫助我們探索了7月中旬7月的非常溫暖,然後持續了乙個涼爽的時期,一直持續到月底。

我們可以使用匯**計資訊來確定7月份的平均溫度或平均溫度,或者像上乙個示例一樣檢查趨勢。

現在,我們要檢查乙個月中的溫度分布。 經常使用直方圖顯示值的分布,將資料分組到類別中,然後視覺化類別。

這是乙個示例,顯示7月最常見的最高溫度在22到24攝氏度之間。

breaks引數可用於確定類別的大小。

因此,如果有人問2023年7月在多倫多的情況如何,您將在學習r的基礎上進行很多討論。

r具有更多的資料視覺化功能。

最流行的圖形r擴充套件之一是hadley wickham所謂的ggplot2,如果您的目標是使用r建立資料視覺化,那麼探索ggplot2包是個好主意。

from:

C 11多執行緒 第4部分 資料共享和競爭條件

翻譯來自 c 11 multithreading part 4 data sharing and race conditions 在多執行緒環境中,執行緒之間的資料共享非常容易。但是,這種易於共享的資料可能會導致應用程式出現問題。這樣的問題之一就是比賽條件。什麼是比賽條件?競爭條件是一種在多執行緒應...

第4 部分 保證資料的完整性

第4 部分 保證資料的完整性 1.用約束而非商務規則強制資料完整性 如果你按照商務規則來處理需求,那麼你應當檢查商務層次 使用者介面 如果商務規則以後發生變 化,那麼只需要進行更新即可。假如需求源於維護資料完整性的需要,那麼在資料庫層面上需要施加限制條件。如果你在資料層確實採用了約束,你要保證有辦法...

資訊架構本質,第 2 部分 管理企業資訊

非 常令人驚訝,在不過就是一段資料的臨時物件上,能寄予多少價值呢?但是資訊並不是憑空存在的 它由其環境上下文中的所有活動事物所使用。從感知化學梯度以 定位食物的細菌,到依賴儀器以安全重返地球大氣層的太空宇宙飛船太空飛行員,資訊僅在特定的上下文中對特定的使用者具有價值。如果沒有正確的資訊確定 捕獲 管...