R 拆分列名和列值

R 拆分列名和列值,r,R,我有以下形式的参数名称-值对: [1] "action=purchase" "itemId=EST-21" 如何以参数名作为列名,以值作为列值来构造输出?例如,我希望将上述值输出为: [Column names] [1]action itemId [Column values][2]purchase EST-21 假设您将参数值对存储为向量中的字符串: (dat <- c("action=purchase", "itemId=EST-21")) # [

我有以下形式的参数名称-值对:

[1] "action=purchase"              "itemId=EST-21"
如何以参数名作为列名,以值作为列值来构造输出?例如,我希望将上述值输出为:

[Column names] [1]action    itemId
[Column values][2]purchase  EST-21

假设您将参数值对存储为向量中的字符串:

(dat <- c("action=purchase", "itemId=EST-21"))
# [1] "action=purchase" "itemId=EST-21"
然后,您可以使用适当的值和名称构造一个向量:

setNames(sapply(spl, "[", 2), sapply(spl, "[", 1))
#     action     itemId 
# "purchase"   "EST-21"

假设您将参数值对存储为向量中的字符串:

(dat <- c("action=purchase", "itemId=EST-21"))
# [1] "action=purchase" "itemId=EST-21"
然后,您可以使用适当的值和名称构造一个向量:

setNames(sapply(spl, "[", 2), sapply(spl, "[", 1))
#     action     itemId 
# "purchase"   "EST-21"

要转换
=
的lhs上的子字符串,我们可以直接使用
read.table/read.csv
,方法是将
sep
指定为
=
,并且
标题=TRUE

read.table(text=dat, sep="=", header=TRUE, 
           stringsAsFactors=FALSE)
#  action purchase
#1 itemId   EST-21

注:“dat”取自@josliber的帖子。

要转换
=
左侧的子字符串,我们可以直接使用
read.table/read.csv
,方法是将
sep
指定为
=
header=TRUE

read.table(text=dat, sep="=", header=TRUE, 
           stringsAsFactors=FALSE)
#  action purchase
#1 itemId   EST-21

注:“dat”取自@josliber的帖子。

需要可复制的示例[因为解决方案将取决于输入的形式]需要可复制的示例[因为解决方案将取决于输入的形式]非常酷!这花了我一段时间,但我想我已经绞尽脑汁弄明白了为什么会这样:)太酷了!这花了我一段时间,但我想我已经绞尽脑汁弄明白了为什么会这样:)