![](/img/trans.png)
[英]How do I change unique row values into another set of unique row values in a data frame in R?
[英]How do I Write R code to find the number of rows in a data set, & the names of the columns and the unique values of landcover classes in this dataset
我有一個名為“landcover.csv”的數據集,其中包含 2008 年和 2018 年巴西和加拿大不同土地覆蓋類別(變量 Class)覆蓋的土地面積(變量 Area)。
我設置工作目錄,然后將數據集導入 R library(tidyverse) land = read_csv('landcover.csv')
問題 1:編寫 R 代碼,求出這個數據集中的行數和列名。
問題 2:編寫 R 代碼以查找此數據集中土地覆蓋類的唯一值。
我已經嘗試了下面的代碼,但不確定它是否給出了意外錯誤。
nrow(landcover) 錯誤:“>”中出現意外的“>”
colnames(landcover) 錯誤:“>”中出現意外的“>”
unique(landcover) 錯誤:“>”中出現意外的“>” unique(landcover) 錯誤:“>”中出現意外的“>”
問題 3:只考慮 2018 年。使用 R 求出每個國家的土地總面積。 還寫一個 dplyr pipe 來構建一個匯總表,給出每個土地覆蓋的總面積 class,按面積遞減順序給出。 在您的答案中包括 R 代碼和 output。
問題 4:(d) 我們希望調查 2008 年至 2018 年間每個國家土地覆蓋的變化。首先,解釋下面給出的 R 代碼產生了什么。 其次,進一步添加 R 代碼以盡可能准確地再現下面的圖形 plot。 第三,給出一個你可以從圖形 plot 中得出的結論。在你的答案中包括解釋和 R 代碼。
土地 %>% pivot_wider(names_from=Year, values_from=Area) %>% rename(year2018= 2018
, year2008= 2008
)
歡迎來到 stackoverflow Aanu!
由於我無權訪問您的數據,因此我將創建一個小型數據集來嘗試回答您的問題:
library(tidyverse)
df <- tibble(
"id" = c(1:5),
"name" = c("Patrick","Josh","Ana","Jasmine","Jonathan"),
"sex" = c("Male","Male","Female","Female","Male"),
"age" = c(18,22,25,28,12)
)
# A tibble: 5 × 4
id name sex age
<int> <chr> <chr> <dbl>
1 1 Patrick Male 18
2 2 Josh Male 22
3 3 Ana Female 25
4 4 Jasmine Female 28
5 5 Jonathan Male 12
關於你的第一個問題,我建議使用str()
function:
str(df)
tibble [5 × 4] (S3: tbl_df/tbl/data.frame)
$ id : int [1:5] 1 2 3 4 5
$ name: chr [1:5] "Patrick" "Josh" "Ana" "Jasmine" ...
$ sex : chr [1:5] "Male" "Male" "Female" "Female" ...
$ age : num [1:5] 18 22 25 28 12
您可以從印刷品中看到您有一個tibble
( dataframe
替代品),有 5 行和 4 列。 控制台打印中的每一行都會為您提供列的名稱、列的類型(int、chr、num 等)並列出前幾個觀察結果。
關於你的第二個問題,我會假設我的“性別”列類似於你的“類”列:
df %>%
count(sex, sort = TRUE, name = "count")
# A tibble: 2 × 2
sex count
<chr> <int>
1 Male 3
2 Female 2
使用count()
您可以看到“性別”列中的唯一值以及它們出現的次數。 假設您只想要一個唯一值列表,您還可以:
df %>%
distinct(sex)
# A tibble: 2 × 1
sex
<chr>
1 Male
2 Female
問題rest在沒有訪問數據的情況下很難回答。
一般來說,最好提供某種樣本數據來幫助人們回答您的問題。
關於您在問題 1 中的代碼中遇到的錯誤,在我看來,當您讀取文件時,出現了某種格式錯誤。 如果您發布了一些代碼並發布了print()
的 output,這將會有所幫助。 按照我的例子:
print(df)
# A tibble: 5 × 4
id name sex age
<int> <chr> <chr> <dbl>
1 1 Patrick Male 18
2 2 Josh Male 22
3 3 Ana Female 25
4 4 Jasmine Female 28
5 5 Jonathan Male 12
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.