还是r的新手,我对gsub
正在做的事感到困惑。我的数据看起来像
我想删除字符串中的FROM
。所以,我使用gsub
作为:
x <- gsub("FROM","",x)
我认为gsub
会遍历所有字符串并删除所有FROM
并返回我的对象。但是,它会创建一个x值,并列出所有数据。
我尝试x <- as.data.frame(x)
查看它是否会将值转换为数据,但创建了一个data.frame,其中包含两个包含所有字符串和数字的obs。
我需要做什么才能从数据中删除字符串并将其保存为data.frame?
答案 0 :(得分:2)
您似乎正在尝试在整个数据框上运行gsub()
。正确的方法是在要替换字符串的列上运行gsub()
。
例如,如果要替换Offense
列中的字符串,则运行:
x$Offense <- gsub('FROM', '', x$Offsense, fixed = TRUE)
这将替换From
列每行中出现的所有Offense
。您生成的数据框x
将不再包含From
列中的字符串Offense
。
答案 1 :(得分:2)
与其他评论一样,@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.my_about);
/**
* YOUR OTHER CODE
*
* */
((TextView) findViewById(R.id.about_body)).setText(Html.fromHtml(getString(R.string.about_body)));
}
适用于列。但是,您可以使用gsub
apply.
答案 2 :(得分:0)
gsub("FROM", "", input)
就像你说的那样。它将循环遍历您在input
参数中指定的列向量,并使用"FROM"
替换列的每个字符串元素中的""
的每个实例。请参阅下面的示例,使用您的数据子集。列offense2
包含已清理的数据。
df <- data.frame(c(1,2,3))
names(df)[1] <- "counts"
df$offense <- c("THEFT - (FROM MOTOR VEHICLE)", "THEFT - (ALL OTHER LARCENY)", "THEFT - (THEFT FROM BUILDING)")
df$offense2 <- gsub("FROM", "", df$offense)
> df
counts offense offense2
1 1 THEFT - (FROM MOTOR VEHICLE) THEFT - ( MOTOR VEHICLE)
2 2 THEFT - (ALL OTHER LARCENY) THEFT - (ALL OTHER LARCENY)
3 3 THEFT - (THEFT FROM BUILDING) THEFT - (THEFT BUILDING)