分解R数据帧
我正在尝试使用R复制pandas(Python)explode方法 这是我掌握的数据:分解R数据帧,r,pandas,R,Pandas,我正在尝试使用R复制pandas(Python)explode方法 这是我掌握的数据: d = {"SN":[1,2],"Age":[21,15],"Name":["John;Luis","Dora"]} df = pd.DataFrame(d) df 在此基础上,我使用“;”分隔名称,并使用explode方法 df["Name"] = df["Name"].apply(lambda x: x.split(";")) df.explode("Name") 我得到的结果是: 现在我正试着用R
d = {"SN":[1,2],"Age":[21,15],"Name":["John;Luis","Dora"]}
df = pd.DataFrame(d)
df
在此基础上,我使用“;”分隔名称,并使用explode方法
df["Name"] = df["Name"].apply(lambda x: x.split(";"))
df.explode("Name")
我得到的结果是:
现在我正试着用R做同样的事情。
我有这部分代码,这是第一步
df <- data.frame("SN" = 1:2, "Age" = c(21,15), "Name" = c("John;Luis","Dora"))
df$Name <- as.character(df$Name)
df = df %>%
mutate(Name = strsplit(Name,split=';', fixed=TRUE) )
df我们可以在R
中使用separate_行,而不是strsplit
,然后展开行
library(tidyr)
library(dplyr)
df %>%
separate_rows(Name)
# SN Age Name
#1 1 21 John
#2 1 21 Luis
#3 2 15 Dora
使用OP方法,strsplit
返回向量的列表
,该列表可以是非最新的
ed
df %>%
mutate(Name = strsplit(Name,split=';', fixed=TRUE) ) %>%
unnest(c(Name))
我们可以在R
中使用separate_行
,而不是strsplit
,然后展开行
library(tidyr)
library(dplyr)
df %>%
separate_rows(Name)
# SN Age Name
#1 1 21 John
#2 1 21 Luis
#3 2 15 Dora
使用OP方法,strsplit
返回向量的列表
,该列表可以是非最新的
ed
df %>%
mutate(Name = strsplit(Name,split=';', fixed=TRUE) ) %>%
unnest(c(Name))
参考资料,df['Name'].str.split(';')
是的缩写。apply(…)
参考资料,df['Name'].str.split(';')
是的缩写。apply(…)
。