r - 将字符串转换为数据框

标签 r string dataframe

我有一个这样的字符串

response <- "q1=2,q2=3,q3=4,q4=5,q5=0,q6=4,q7=6,q31=3,q32=5,q33=5,q34=1,q35=3,q36=6,q37=4,q38=3,q39=5,q40=5,q41=1,q42=5,q43=4,q44=3,q45=5,q46=6,q47=0,q48=4,q49=2,q50=4,q51=6,q52=5,q53=4,q8=3,q9=0,q10=2,q11=4,q12=6,q13=5,q54=1,q55=2,q56=3,q57=1,q58=2,q59=3,q60=0,q61=1,q14=2,q15=4,q16=6,q62=3,q63=2,q64=2,q65=5,q66=6,q17=3,q18=3,q19=1,q20=4,q21=6,q67=1,q68=2,q69=2,q70=4,q71=4,q72=5,q73=6,q74=5,q75=4,q76=3,q77=2,q78=1,q79=0,q80=2,q81=6,q82=5,q83=4,q84=5,q22=2,q23=4,q24=5,q25=1,q26=2,q85=1,q86=0,q87=2,q88=5,q89=3,q90=6,q91=1,q92=0,q93=5,q94=4,q95=3,q96=1,q97=2,q98=3,q99=4,q100=4,q101=5,q102=6,q103=2,q104=1,q105=4,q106=3,q107=2,q108=1,q109=6,q110=0,q111=4,q112=5,q113=4,q114=3,q115=5,q116=4,q117=6,q118=0,q119=3,q120=4,q121=2,q122=4,q123=3,q124=5,q125=6,q126=4,q127=3,q128=4,q129=5,q130=6,q131=4,q27=5,q28=3,q29=6,q30=5,q132=1,q133=0,q134=3,q135=4,q136=6,q137=2,q138=1,q139=5"

我想以这样一种方式转换它,即 = 符号之前的内容成为列标题,而之后的内容成为列值。如果我这样做,我会得到类似的东西

df <- data.frame('key'='value','key2'='value2')

我怎样才能用这样的字符串做到这一点?

请原谅我的无知,我为此苦苦挣扎,无法在 R 中找到答案。

最佳答案

您可以将response 插入到data.frame(...) 中,然后对其进行解析和计算。

df <- eval(parse(text = paste0("data.frame(", response, ")")))

dim(df)
# [1]   1 139

df[1:10]
#   q1 q2 q3 q4 q5 q6 q7 q31 q32 q33
# 1  2  3  4  5  0  4  6   3   5   5

关于r - 将字符串转换为数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73330748/

相关文章:

r - 如何在R中不使用循环快速访问列表列表中的元素? (Googleway 套餐)

c# - 使用正则表达式进行有限的字符串替换?

java - 检测字符串中的空格

C:如何以更简洁的方式将空终止符复制到结构成员?

python - 使用 Pandas 数据框中的两列计算加权和

apache-spark - Spark sql如何为输入DataFrame中的每条记录循环执行sql命令

r - 努力使用 read_tsv() 代替 read.csv()

r - 哪些包很好地利用了 S4 对象?

python - Pandas - 检查列中的值是否是同一列中另一个值的子字符串

r - 串联字符串中的自定义因子水平