我正在使用R,需要在列表中重新编码一些变量。清单如下:
> list1
Group.1 x
1 4000
2 3890
Group.1
列中的哪个位置我想将1
替换为male
,将2
替换为female
。
我尝试使用replace()函数执行此操作:
replace(list1,list1$Group.1 == "1", "male")
返回
Group.1 x
male 4000
male 3890
即,它也将Group.1 == 2
替换为男性。我错过了一步吗?我可以通过使用替换函数看到 - Group.1 == 1
应该将replace命令限制为Group.1
中等于1的值。看来这个标准没有做任何事情。
答案 0 :(得分:3)
$()
对矢量而不是data.frames进行操作。试试这个:
// for strings
$(".element").mark("query here");
// for RegExp
$(".element").mark(new RegExp(/query reg[a-zA-Z]+/));
// for array
$(".element").mark(["string query", new RegExp(/query arr[a-z]+/)]);
要更改数据,您可以执行以下操作:
replace
您尝试做的事情看起来像> replace(df$Group.1,df$Group.1 == 1, "male")
[1] "male" "2"
列的级别为> df$Group.1 <- replace(df$Group.1,df$Group.1 == 1, "male")
> df
Group.1 x
1 male 4000
2 2 3890
的好应用程序。
答案 1 :(得分:1)
这是使用mapvalues()
的解决方案。你拥有的东西看起来不像是一个列表,而是一个data.frame。也许你在考虑Python的名字?
#make dataframe
df = data.frame(group.1 = c(1, 2),
x = c(4000, 3890))
library(plyr)
df$group.1 = mapvalues(df$group.1, c(1, 2), c("Male", "Female"))
df
这给出了:
group.1 x
"Male" 4000
"Female" 3890
mapvalues
的好处是它也适用于NA
值。
答案 2 :(得分:0)
使用{% block fos_user_content %}<br>
{% include "FOSUserBundle:Registration:register_content.html.twig" %}<br>
{% endblock fos_user_content %}
替换正则表达式将是另一种方法。
stringr