第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

傳播帶有重復(fù)標(biāo)識符的data.frame / tibble

傳播帶有重復(fù)標(biāo)識符的data.frame / tibble

提迪爾(tidyr)的文檔表明,收集和傳播是可傳遞的,但以下帶有“ iris”數(shù)據(jù)的示例顯示它們不是,但不清楚原因。任何澄清將不勝感激iris.df = as.data.frame(iris)long.iris.df = iris.df %>% gather(key = feature.measure, value = size, -Species)w.iris.df = long.iris.df %>% spread(key = feature.measure, value = size, -Species)我希望數(shù)據(jù)框“ w.iris.df”與“ iris.df”相同,但收到以下錯誤:“錯誤:行的重復(fù)標(biāo)識符(1、2、3、4、5、6、7、8、9 ...”我的一般問題是如何在這種數(shù)據(jù)集上反轉(zhuǎn)“收集”的應(yīng)用程序。
查看完整描述

2 回答

?
肥皂起泡泡

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超6個贊

毫無疑問,Hadley的干預(yù)是完美的……但是在那之后我最終對語法有所懷疑……所以,就其價值而言,我發(fā)布了完整的操作代碼(對不起,我的語法與上面有些不同):


library(tidyr)

library(dplyr)


wide <- 

  iris %>%

  mutate(row = row_number()) %>%

  gather(vars, val, -Species, -row) %>%

  spread(vars, val)


head(wide)

#   Species row Petal.Length Petal.Width Sepal.Length Sepal.Width

# 1  setosa   1          1.4         0.2          5.1         3.5

# 2  setosa   2          1.4         0.2          4.9         3.0

# 3  setosa   3          1.3         0.2          4.7         3.2

# 4  setosa   4          1.5         0.2          4.6         3.1

# 5  setosa   5          1.4         0.2          5.0         3.6

# 6  setosa   6          1.7         0.4          5.4         3.9


head(iris)

# Sepal.Length Sepal.Width Petal.Length Petal.Width Species

# 1          5.1         3.5          1.4         0.2  setosa

# 2          4.9         3.0          1.4         0.2  setosa

# 3          4.7         3.2          1.3         0.2  setosa

# 4          4.6         3.1          1.5         0.2  setosa

# 5          5.0         3.6          1.4         0.2  setosa

# 6          5.4         3.9          1.7         0.4  setosa

他們是一樣的...。只要您覺得喜歡就需要重新排序...


wide <- wide[,c(3, 4, 5, 6, 1)]  ## Reorder and then remove "row" column

并做了。


查看完整回答
反對 回復(fù) 2019-12-03
?
開心每一天1111

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超13個贊

由于先前的答案可能還不夠清楚,因此gather您在嘗試執(zhí)行時會表現(xiàn)出自己的問題spread。


問題在于,在收集過程中,您將丟失對哪個數(shù)據(jù)feature.measure屬于原始數(shù)據(jù)幀中的哪一行的了解,因此spread不知道如何再次將各個值組合到“寬”表中。


iris.df = as.data.frame(iris)

long.iris.df = iris.df %>% 

  tibble::rowid_to_column() %>% 

  gather(key = feature.measure, value = size, -Species, -rowid)


#>   rowid Species feature.measure size

#> 1     1  setosa    Sepal.Length  5.1

#> 2     2  setosa    Sepal.Length  4.9

#> 3     3  setosa    Sepal.Length  4.7

#> 4     4  setosa    Sepal.Length  4.6

#> 5     5  setosa    Sepal.Length  5.0

#> 6     6  setosa    Sepal.Length  5.4

現(xiàn)在,其中的每個值都會size保留其值,rowid因此您始終可以將其重新組合到寬數(shù)據(jù)集(刪除不必要的rowid):


w.iris.df = long.iris.df %>% 

  spread(key = feature.measure, value = size) %>% 

  select(-rowid)

head(w.iris.df)

#>   Species Petal.Length Petal.Width Sepal.Length Sepal.Width

#> 1  setosa          1.4         0.2          5.1         3.5

#> 2  setosa          1.4         0.2          4.9         3.0

#> 3  setosa          1.3         0.2          4.7         3.2

#> 4  setosa          1.5         0.2          4.6         3.1

#> 5  setosa          1.4         0.2          5.0         3.6

#> 6  setosa          1.7         0.4          5.4         3.9


查看完整回答
反對 回復(fù) 2019-12-03
  • 2 回答
  • 0 關(guān)注
  • 502 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號