簡體   English   中英

在R中將字符(0)保留為空字符串的同時取消列出列

[英]Unlist a column while retaining character(0) as empty strings in R

我對R還是比較陌生。我有一個數據框,其中有一個列存儲為列表。 我的列包含c("Benzo", "Ferri")character(0)如果為空)。 如何將它們更改為簡單的Benzo, Ferri和一個空字符串(字符(0))呢?

我無法進行操作,例如df$general_RN <- unlist(df$general_RN)因為Error in $<-.data.frame(*tmp*, general_RN, value = c("Drug Combinations", : replacement has 1992 rows, data has 10479

我假設已刪除所有character(0)但我需要將它們保留為NA

這是該列的外觀

general_RN
c("Chlorambucil", "Vincristine", "Cyclophosphamide")
Pentazocine
character(0)
character(0)
c("Ampicillin", "Trimethoprim")
character(0)

我為此問題花了一個小時。

謝謝你的建議。

沒有數據的更多信息很難說,但這也許可以為您提供解決方案,或者至少可以為您指明正確的方向:

a <- list('A',character(0),'B')

> a
[[1]]
[1] "A"

[[2]]
character(0)

[[3]]
[1] "B"

> unlist(lapply(a,function(x) if(identical(x,character(0))) ' ' else x))
[1] "A" " " "B"

因此,在您的情況下應該是:

df$general_RN <- unlist(lapply(df$general_RN,function(x) if(identical(x,character(0))) ' ' else x))

HTH

暫無
暫無

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

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