簡體   English   中英

將數據幀的每一行轉換為R中的新列表

[英]Convert each row of dataframe to new list in R

我有以下示例input數據-

> df <- data.frame(a=c(1,2,9),b=c(3,4,5),c=c(2,6,7))
> df
  a b c
1 1 3 2
2 2 4 6
3 9 5 7

我正在嘗試將牧場row轉換為單獨的列表。

我的嘗試

> apply(df,1,as.list)

上面的解決方案將每一row轉換為sublists 但是,在這種情況下,我正在尋找3個單獨的列表。

nrow(df) = no. of lists

期望的輸出

> list1
$a
[1] 1

$b
[1] 3

$c
[1] 2

> list2
$a
[1] 2

$b
[1] 4

$c
[1] 6

> list3
$a
[1] 9

$b
[1] 5

$c
[1] 7

您可以使用byas.list

out <- by(df, 1:nrow(df), as.list)
out
#1:nrow(df): 1
#$a
#[1] 1
#
#$b
#[1] 3

#$c
#[1] 2

#------------------------------------------------------------------------------ 
#1:nrow(df): 2
#$a
#[1] 2

#$b
#[1] 4

#$c
#[1] 6

#------------------------------------------------------------------------------
#1:nrow(df): 3
#$a
#[1] 9

#$b
#[1] 5

#$c
#[1] 7

創建類的一個對象by 因此,您可以最后調用unclass(out)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM