我有這個資料框架的例子。
df < -結構(list(PC1 = c(/span>-0. 0277818345657933, -0.0342426301759117, -0.0328199061848987, 0。 0557338197779853, 0.042369402931087), ,
PC2 = c(-0。 0149291182738773, -0. 00862145986823889, -0.0101822421485786,-0.00862630869071877,/span> -0. 00419434673647331)),行。 名稱 = c("Homo sapiens - ULAC-0968"/span>,
"Homo sapiens - ULAC-0978", "Homo sapiens - ULAC-0996"。 "Pan troglodytes - HTB2804", "Pan troglodytes - HTB2804
"Pan troglodytes - HTB411")。 class = "data. frame")
我想要的是創建一個額外的列,命名為Species,其內容是行名。在這種情況下,這些因素將只有Homo sapiens和Pan troglodytes。
我如何進行?
我如何進行?
uj5u.com熱心網友回復:
library(tidyverse)
df%>%
rownames_to_column(var = 'Species') %>%
mutate(Species=sapply(strsplit)。 split = ' -')。 function(x) as. factor(x[/span>1])))
輸出;
Species PC1 PC2
<fct> < dbl> <dbl>/span>
1智人 -0.0278 -0.0149
2智人 -0.0342 -0.00862
3智人 -0.0328 -0.0102
4 Pan troglodytes 0.0557 -0.00863
5 Pan troglodytes 0.0424 -0.00419
uj5u.com熱心網友回復:
基礎R選項。
使用sub洗掉-中的所有內容,并洗掉rownames.
df$Species < - trimws(sub('-. *', '。 rownames(df)))
rownames(df) <- NULL
df
# PC1 PC2 物種
#1 -0.0278 -0.01493 Homo sapiens。
#2 -0.0342 -0.00862 智人。
#3 -0.0328 -0.01018 Homo sapiens。
#4 0.0557 -0.00863 Pan troglodytes[/span]。
#5 0.0424 -0.00419 Pan troglodytes?
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/306867.html
標籤:
下一篇:<p>我有一個看起來像這樣的表(1個例子--總共有200萬行):</p> <preclass="lang-rs-code-block"><
