Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从dataframe创建字符串_R_String_Dataframe_Dplyr_Plyr - Fatal编程技术网

从dataframe创建字符串

从dataframe创建字符串,r,string,dataframe,dplyr,plyr,R,String,Dataframe,Dplyr,Plyr,我的数据帧 x1 <- data.frame(C1 = letters[1:4], C3=1:4, C3=letters[11:14]) 但这并没有给我想要的输出 这就是你想要的吗 paste0(x1[,1], x1[,2]) # [1] "a1" "b2" "c3" "d4" 那么: as.list(paste0(x1[,1], x1[,2])) # [[1]] # [1] "a1" # # [[2]] # [1] "b2" # # [[3]] # [1] "c3" # # [

我的数据帧

x1 <- data.frame(C1 = letters[1:4], C3=1:4, C3=letters[11:14])
但这并没有给我想要的输出

这就是你想要的吗

paste0(x1[,1], x1[,2])
# [1] "a1" "b2" "c3" "d4"
那么:

as.list(paste0(x1[,1], x1[,2]))
# [[1]]
# [1] "a1"
# 
# [[2]]
# [1] "b2"
# 
# [[3]]
# [1] "c3"
# 
# [[4]]
# [1] "d4"

不管你有多少行。您只需要指定要粘贴到字符串中的列

这里有一种使用lappy的方法:

lapply(1:nrow(x1), function(i) c(x1[i,1], x1[i,2]))
结果是

[[1]]
[1] "a" "1"

[[2]]
[1] "b" "2"

[[3]]
[1] "c" "3"

[[4]]
[1] "d" "4"
数据

x1 <- data.frame(C1 = letters[1:4], C3=1:4, C3=letters[11:14],
                 stringsAsFactors = F)

x1如果有多列,我们可以使用
do.call

as.list(do.call(paste0, x1[-3]))

差不多。我需要一份清单。我也不知道我的数据框有多大。也许它有1000行,也许只有2行。我只知道我想改造哪根柱子<代码>拆分(如矩阵(x1[,1:2]),顺序(nrow(x1)))
我猜。不过这是一个奇怪的手术。@Frank为什么这是一个奇怪的手术?你的代码给了我
[1]“b”2“
。我需要[1]“b2”嗯,现在我真的很困惑,因为你的问题实际上是说“我需要一些东西[…]
c(“b”,“2”)
”,大概是描述期望的输出。无论如何,(i)使用存储为字符串的数字,(ii)将data.frame逐行拆分是一种奇怪的操作。一般来说,这些步骤在R中是不必要的。@Frank我应该用不同的措辞!我猜这取决于你做什么;)我需要它!FWIW,这并不是故意的恶作剧。我只是想问一下
do的附加值。打电话给
@gung谢谢你的回复。我误解了你的评论。很抱歉
x1 <- data.frame(C1 = letters[1:4], C3=1:4, C3=letters[11:14],
                 stringsAsFactors = F)
as.list(do.call(paste0, x1[-3]))