将引号与R中循环中的字符串连接起来

将引号与R中循环中的字符串连接起来,r,string,concatenation,R,String,Concatenation,我想在循环中用字符串连接引号。我尝试使用以下代码,但这只会生成警告: 1:在[中,问题是您的列是一个因子: items <- structure(list(V1 = structure(c(4L, 3L, 1L, 2L, 5L, 6L), .Label = c("Am f?cut multe din lucrurile pe care mi le-am dorit.",

我想在循环中用字符串连接引号。我尝试使用以下代码,但这只会生成警告:


1:在
[中,问题是您的列是一个
因子

items <- structure(list(V1 = structure(c(4L, 3L, 1L, 2L, 5L, 6L),
                            .Label = c("Am f?cut multe din lucrurile pe care mi le-am dorit.", 
                                "Am sentimente calde fa?? de ceilal?i.", "Nu sunt interesat de al?i oameni. (I) ", 
                                "Nu sunt mul?umit de felul în care sunt. (I)", "Rareori m? trezesc odihnit. (I)", 
                                "Sunt pesimist în leg?tur? cu viitorul. (I)"),
                            class = "factor")),
                   .Names = "V1",
                   row.names = c(NA, -6L),
                   class = "data.frame")
x <- structure(list(SSB1 = c(6L, 6L, 6L, 6L, 6L, 3L),
                    SSB2 = c(5L, 6L, 5L, 6L, 6L, 1L),
                    SSB3 = c(5L, 4L, 4L, 6L, 6L, 5L),
                    SSB4 = c(6L, 4L, 5L, 6L, 6L, 6L),
                    SSB5 = c(5L, 1L, 4L, 5L, 3L, 4L),
                    SSB6 = c(6L, 3L, 6L, 6L, 2L, 2L),
                    SSB7 = c(4L, 1L, 2L, 4L, 3L, 2L),
                    SSB8 = c(5L, 4L, 4L, 6L, 5L, 6L),
                    SSB9 = c(6L, 4L, 6L, 6L, 4L, 4L),
                    SSB10 = c(6L, 5L, 6L, 1L, 4L, 4L)),
               .Names = c("SSB1", "SSB2", "SSB3", "SSB4", "SSB5",
                   "SSB6", "SSB7", "SSB8", "SSB9", "SSB10"),
               class = "data.frame",
               row.names = c("1", "2", "3", "4", "5", "6"))

class(items[,1])
## [1] "factor"
paste("\"", items[1,], "\"", sep = "")
## [1] "\"Nu sunt mul?umit de felul în care sunt. (I)\""
NB:我们需要重新加载项目,因为我们刚刚损坏了第一行

问题在于,
粘贴
命令产生的字符串未被识别为因子级别之一

levels(items[,1])
## [1] "Am f?cut multe din lucrurile pe care mi le-am dorit."
## [2] "Am sentimente calde fa?? de ceilal?i."               
## [3] "Nu sunt interesat de al?i oameni. (I) "              
## [4] "Nu sunt mul?umit de felul în care sunt. (I)"         
## [5] "Rareori m? trezesc odihnit. (I)"                     
## [6] "Sunt pesimist în leg?tur? cu viitorul. (I)"          

paste("\"", items[1,], "\"", sep = "")
## [1] "\"Nu sunt mul?umit de felul în care sunt. (I)\""
为了将任意字符串分配到该
因子
-ized列中,您必须(a)确保分配的字符串与定义的级别之一相同,(b)向列中添加级别以说明新字符串(可能没有效率,也可能没有您想要做的事情),或(c)在开始之前,只需将整个列转换为
字符
。前两列效率低下且(我认为)不必要,但如果我误解了您的需求,请告诉我

(c)项:


items[,1]您认为字符串实际上是一个因素。在使用粘贴之前,您必须先将其转换为字符串。您应该提供对象“items”和“x”是什么。要进一步了解@CactusWoman的评论:(1)尝试
items[i,]=paste(“\”),as.character(items[i,]),“\”,sep=“”)
;(2)否则,我们无法帮助您更好地了解数据的外观。您应该提供几行项目和x,尝试更好地向我们显示head(项目)和head(x)的结果,向我们显示
dput(head(项目))
dput(x)
。如果您运行
items非常感谢您,r2evans!我留下了第二行的首字母:
items[I,]=paste(“\”,items[I,],“\”,sep=“”)
。我只添加了
items[,1]
items[1,] <- paste("\"", items[1,], "\"", sep = "")
## Warning in `[<-.factor`(`*tmp*`, iseq, value = "\"Nu sunt mul?umit de felul în care sunt. (I)\"") :
##   invalid factor level, NA generated
levels(items[,1])
## [1] "Am f?cut multe din lucrurile pe care mi le-am dorit."
## [2] "Am sentimente calde fa?? de ceilal?i."               
## [3] "Nu sunt interesat de al?i oameni. (I) "              
## [4] "Nu sunt mul?umit de felul în care sunt. (I)"         
## [5] "Rareori m? trezesc odihnit. (I)"                     
## [6] "Sunt pesimist în leg?tur? cu viitorul. (I)"          

paste("\"", items[1,], "\"", sep = "")
## [1] "\"Nu sunt mul?umit de felul în care sunt. (I)\""
items[,1] <- as.character(items[,1])
items[1,] <- paste("\"", items[1,], "\"", sep = "")
items
##                                                     V1
## 1        "Nu sunt mul?umit de felul în care sunt. (I)"
## 2               Nu sunt interesat de al?i oameni. (I) 
## 3 Am f?cut multe din lucrurile pe care mi le-am dorit.
## 4                Am sentimente calde fa?? de ceilal?i.
## 5                      Rareori m? trezesc odihnit. (I)
## 6           Sunt pesimist în leg?tur? cu viitorul. (I)