R中的分类
我使用下面的代码来搜索项目列表,并对它们进行分类,如果它们包含我要查找的单词R中的分类,r,R,我使用下面的代码来搜索项目列表,并对它们进行分类,如果它们包含我要查找的单词 yo <- c("winter", "winter storm", "downline", "Hurricane", "c", "c") t = data.frame(yo) b <- grep("winter", t$yo) c <- grep("downline", t$yo) d <- grep("Hurricane",t$yo) t$y2[b] = "Winter"
yo <- c("winter", "winter storm", "downline", "Hurricane", "c", "c")
t = data.frame(yo)
b <- grep("winter", t$yo)
c <- grep("downline", t$yo)
d <- grep("Hurricane",t$yo)
t$y2[b] = "Winter"
t$y2[c] = "downline"
t$y2[d] = "Hurricane"
知道为什么即使grep函数找不到与之匹配的内容,它仍将最后两个列归类为Winter吗?当您键入t$y2[b]=Winter时,y2列还不存在。但是,由于data.frame的所有列必须具有相同的大小,因此为了填充该列,b c1,2的模式重复三次
您可以键入以下内容以查看发生了什么:
t = data.frame(yo)
t$y2[b] = "Winter"
t
如果输入是一个包含2个元素而不是Winter的向量,我们可以看到这两个元素是重复的:
t = data.frame(yo)
t$y2[b] = c("Winter", "Not Winter")
t
如果t的行数不是索引向量的倍数,则R将引发错误:
t = data.frame(yo)
t$y2[1:5] = "Winter"
t
一个简单的修复方法是在使用y2之前使用默认值初始化y2:
t = data.frame(yo)
b <- grep("winter", t$yo)
c <- grep("downline", t$yo)
d <- grep("Hurricane",t$yo)
t$y2 = ""
t$y2[b] = "Winter"
t$y2[c] = "downline"
t$y2[d] = "Hurricane"
yo y2
1 winter Winter
2 winter storm Winter
3 downline downline
4 Hurricane Hurricane
5 c
6 c
键入t$y2[b]=Winter时,y2列还不存在。但是,由于data.frame的所有列必须具有相同的大小,因此为了填充该列,b c1,2的模式重复三次
您可以键入以下内容以查看发生了什么:
t = data.frame(yo)
t$y2[b] = "Winter"
t
如果输入是一个包含2个元素而不是Winter的向量,我们可以看到这两个元素是重复的:
t = data.frame(yo)
t$y2[b] = c("Winter", "Not Winter")
t
如果t的行数不是索引向量的倍数,则R将引发错误:
t = data.frame(yo)
t$y2[1:5] = "Winter"
t
一个简单的修复方法是在使用y2之前使用默认值初始化y2:
t = data.frame(yo)
b <- grep("winter", t$yo)
c <- grep("downline", t$yo)
d <- grep("Hurricane",t$yo)
t$y2 = ""
t$y2[b] = "Winter"
t$y2[c] = "downline"
t$y2[d] = "Hurricane"
yo y2
1 winter Winter
2 winter storm Winter
3 downline downline
4 Hurricane Hurricane
5 c
6 c
第一次作业后,看t$y2。一路向下都是冬天。没错,这就是我要问的,如果我用b索引,为什么一路向下都是t$y2。如果你运行b行@steppermotor,这是数据科学专业课程的作业问题吗?@PPC一点也不。我大约10年前毕业于欧洲经委会。我不认为我们知道R的存在,现在我用R进行数据分析,因此我问了这些问题。第一次作业后看t$y2。一路向下都是冬天。没错,这就是我要问的,如果我用b索引,为什么一路向下都是t$y2。如果你运行b行@steppermotor,这是数据科学专业课程的作业问题吗?@PPC一点也不。我大约10年前毕业于欧洲经委会。我不认为我们知道R的存在,现在我使用R进行数据分析,因此我问了这些问题。感谢用户1470500的解释。感谢用户1470500的解释。