R 仅连接行中的向量值

R 仅连接行中的向量值,r,vector,dataframe,R,Vector,Dataframe,我的R代码有问题。首先,我有一个数据帧df,其中有一列由数值和向量组成。这些向量还包含数值。这是数据帧中某些行的示例: 1. 60011000 2. 60523000 4. 60490000 5. 60599000 6. c("60741000", "60740000", "60742000") 7. 60647000 8. c("60766000", "60767000") 9. c("60563000", "60652000") 在列表中,您可以看到一些包含向量元素的第6、8和9行。我只想

我的R代码有问题。首先,我有一个数据帧df,其中有一列由数值和向量组成。这些向量还包含数值。这是数据帧中某些行的示例:

1. 60011000
2. 60523000
4. 60490000
5. 60599000
6. c("60741000", "60740000", "60742000")
7. 60647000
8. c("60766000", "60767000")
9. c("60563000", "60652000")
在列表中,您可以看到一些包含向量元素的第6、8和9行。我只想将向量中的元素连接到一个元素。 例如,第6行向量的结果应如下所示:

607410006074000060742000

第8行的结果应该是这样的

6076600060767000

我的dataframe有30000多行,因此我不可能手动执行

你能帮我解决我的问题吗?行数不改变是很重要的。 非常感谢,请原谅我犯的错误。我不是以英语为母语的人。

你可以:

df=data.frame(a=c(1,2,3,4,'c("60741000", "60740000", "60742000")'),
              b=c(1,2,3,4,5),
              stringsAsFactors = F)
> df
                                      a b
1                                     1 1
2                                     2 2
3                                     3 3
4                                     4 4
5 c("60741000", "60740000", "60742000") 5
df[,"a"]=sapply(df[,"a"],function(x) paste(eval(parse(text=x)),collapse = ""))
> df
                         a b
1                        1 1
2                        2 2
3                        3 3
4                        4 4
5 607410006074000060742000 5
数据:

dat <- read.table(text='60011000
60523000
60490000
60599000
c("60741000", "60740000", "60742000")
60647000
c("60766000", "60767000")
c("60563000", "60652000")', sep = "\t")

dat
#                                V1
# 1                        60011000
# 2                        60523000
# 3                        60490000
# 4                        60599000
# 5 c(60741000, 60740000, 60742000)
# 6                        60647000
# 7           c(60766000, 60767000)
# 8           c(60563000, 60652000)

给你;看来有人把我揍了一顿

df <- read.table("df.txt",header=F,)
df
# V1
# 1              123
# 2               12
# 3  c("1","55","6")
# 4              356
# 5 c("99","55","3")
df[,1] <- as.numeric(as.character(gsub("[^0-9]","",df[,1])))
df
# V1
# 1   123
# 2    12
# 3  1556
# 4   356
# 5 99553

欢迎来到StackOverflow。请看一下这些关于如何制作a的技巧,以及上的这篇文章。也许下面的提示也值得一读。您好CM2893,该专栏的结构是什么?这些行是字符吗?我想他们一定是!我不认为你有向量,我认为你有文本,字面意思是“c60741000,60740000,60742000”。嗨,Joy,我用下面的代码输出结构:sapply df,class,结果是list。所以你说的是对的,不是向量@快乐
df <- read.table("df.txt",header=F,)
df
# V1
# 1              123
# 2               12
# 3  c("1","55","6")
# 4              356
# 5 c("99","55","3")
df[,1] <- as.numeric(as.character(gsub("[^0-9]","",df[,1])))
df
# V1
# 1   123
# 2    12
# 3  1556
# 4   356
# 5 99553