我有5个数据帧,包含三种不同语言的多个变量(110),我很擅长使用R.我正在将这些因素重新编码为最终可以合并所有数据帧的数字。除了下面的句子外,大多数因素都很简单。我怀疑“ESG Art.383 and Art.384”中的圆点令人困惑,但我无法摆脱它
data$B1aC <- as.factor(data$B1aC)
levels(data$B1aC)
summary(data$B1aC)
data$B1aC <- factor(data$B1aC, levels = c("Einsatz auf Wunsch des
Bewohners/der Bewohnerin oder im Einverständnis mit dem/der dazu
urteilsfähigen Bewohner/-in","Einsatz bei dazu nicht urteilsfähiger Bewohner/-in, alle Bedingungen (ESG Art. 383 und Art. 384) sind erfüllt","Kontext ist noch nicht geklärt, nicht alle Bedingungen (ESG Art. 383 und Art. 384) sind erfüllt"),labels = c("1", "2", "3"))
table(data$B1aC)
当我显示转换的数据时,我丢失了数字2和3(两者都有一个点在他们的水平)。有谁知道我能做什么?
我在Apple(x86_64-apple-darwin13.4.0)上使用Rstudio并运行R 3.3.3。
这是 table()
的输出table(data$B1aC)
Einsatz auf Wunsch des Bewohners/der Bewohnerin oder im Einverständnis mit dem/der dazu urteilsfähigen Bewohner/-in
1
Einsatz bei dazu nicht urteilsfähiger Bewohner/-in, alle Bedingungen (ESG Art. 383 und Art. 384) sind erfüllt
1
Kontext ist noch nicht geklärt, nicht alle Bedingungen (ESG Art. 383 und Art. 384) sind erfüllt
1
summary(data$B1aC)
Einsatz auf Wunsch des Bewohners/der Bewohnerin oder im Einverständnis mit dem/der dazu urteilsfähigen Bewohner/-in
1
Einsatz bei dazu nicht urteilsfähiger Bewohner/-in, alle Bedingungen (ESG Art. 383 und Art. 384) sind erfüllt
1
Kontext ist noch nicht geklärt, nicht alle Bedingungen (ESG Art. 383 und Art. 384) sind erfüllt
1
NA's
97
我必须将字符串转换为数字,因为数据框有3种不同的语言 - 然后合并会让我感到困惑,因为我对所有语言都不太熟悉。
转换数据后:
data$B1aC <- factor(data$B1aC, levels = c("Einsatz auf Wunsch des Bewohners/der Bewohnerin oder im Einverständnis mit dem/der dazu urteilsfähigen Bewohner/-in",
"Einsatz bei dazu nicht urteilsfähiger Bewohner/-in, alle Bedingungen (ESG Art. 383 und Art. 384) sind erfüllt",
"Kontext ist noch nicht geklärt, nicht alle Bedingungen (ESG Art. 383 und Art. 384) sind erfüllt"),
labels = c("1", "2", "3"))
table(data$B1aC)
1 2 3
1 0 0
答案 0 :(得分:1)
鉴于您的text
,您可以按照以下方式删除标点符号:
text<-c("Einsatz auf Wunsch des Bewohners/der Bewohnerin oder im Einverständnis mit dem/der dazu urteilsfähigen Bewohner/-in","Einsatz bei dazu nicht urteilsfähiger Bewohner/-in, alle Bedingungen (ESG Art. 383 und Art. 384) sind erfüllt","Kontext ist noch nicht geklärt, nicht alle Bedingungen (ESG Art. 383 und Art. 384) sind erfüllt")
text<-gsub(pattern = "[[:punct:]]"," ",text,perl=T)
因此屈服:
> text
[1] "Einsatz auf Wunsch des Bewohners der Bewohnerin oder im Einverständnis mit dem der dazu urteilsfähigen Bewohner in"
[2] "Einsatz bei dazu nicht urteilsfähiger Bewohner in alle Bedingungen ESG Art 383 und Art 384 sind erfüllt"
[3] "Kontext ist noch nicht geklärt nicht alle Bedingungen ESG Art 383 und Art 384 sind erfüllt"
答案 1 :(得分:0)
看起来您正在尝试重新标记您的因素,以便每个级别都有一个数字标签,而不是现有的文本标签。
从整数和as.numeric
继承的因子为您提供了数字表示:
data(warpbreaks)
table(warpbreaks$wool)
#
# A B
# 27 27
table(as.numeric(warpbreaks$wool))
#
# 1 2
# 27 27
此时,如果你真的想要,你可以在数字上重新标记因子(下图),但是从你提到需要通过这个变量合并数据帧时,我想不出为什么这是可取的。
warpbreaks$wool <- factor(warpbreaks$wool, labels =
unique(as.numeric(warpbreaks$wool)))
table(warpbreaks$wool)
#
# 1 2
# 27 27