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