簡體   English   中英

在 data.frame 列中列出

[英]List within a data.frame column

到目前為止,我有以下data.frame ,初始列填充了設定值:

df <- data.frame(N=seq(10, 100, by=10))

現在,我想在這里有第二列,它將是整數list (或c() ),這樣調用df的 output 如下所示:

      N         I
1     10        2, 8, 1
2     20        4, 0, 99
..    ..        ..

我嘗試執行以下操作,其中df <- data.frame(N=seq(10, 100, by=10), I=logical(10)) ,它在每一列中放置一個FALSE 但是嘗試使用df$I[df$N == 10] <- list(2, 8, 1)測試我想做的事情會引發錯誤:

要替換的項目數不是替換長度的倍數

編輯:我也嘗試使用I(list(...))將列表解釋為原樣,但拋出了相同的錯誤。

我們可以通過在 data.frame 中用I包裝來創建list ,然后通過提取與邏輯向量提供的索引對應的list元素進行分配

df <- data.frame(N=seq(10, 100, by=10), I= I(vector('list', 10)))
df$I[df$N == 10][[1]] <- list(2, 8, 1)
df
#     N       I
#1   10 2, 8, 1
#2   20        
#3   30        
#4   40        
#5   50        
#6   60        
#7   70        
#8   80        
#9   90        
#10 100        

暫無
暫無

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

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