R 逐行检查数据帧并写入文件

R 逐行检查数据帧并写入文件,r,R,我正在学习R,对Python有一点了解。 我觉得R和Python在某些方面是相似的,而在另一些方面则非常相似 尤其是在迭代或读取某些文件中的数据时,我会陷入困境 我有一个数据框 temp <- A B C 1 2 3 4 5 6 7 8 8 我试过这个 A <- temp[1] B <- temp[2] C <- temp[3] print(paste("[", A, B, as.character(C), "]",

我正在学习R,对Python有一点了解。 我觉得R和Python在某些方面是相似的,而在另一些方面则非常相似

尤其是在迭代或读取某些文件中的数据时,我会陷入困境

我有一个数据框

temp <- 
A    B    C
1    2    3
4    5    6
7    8    8
我试过这个

A <- temp[1]
B <- temp[2]
C <- temp[3]

print(paste("[", A, B, as.character(C),  "]", sep = ","))
我试过其他几种方法,比如

`test <- rbind(temp)` 
最后,它总是归结为同一件事:当我尝试打印/粘贴它时,它将它逐列排列,而不是逐行排列


我还摆弄着
array()
。感觉这样做是正确的函数,但是传递
list
作为
FUN
参数似乎不正确…

这里有一个解决方案,将数据写入
myfile.txt

cat(apply(temp, 1, function(x)paste0('[', x[1], ' ',  x[2], ' "', x[3], '"]', '\n')), sep='', file='myile.txt')
(本机)当涉及数组/向量/矩阵时,python和R的工作方式非常不同。必须隐式地指示Python迭代每个元素,而R则以本机方式进行迭代

如果您想要的输出是
[1,2,3”]、\n[4,5,6”]、\n[7,8,9”]、\n
,您可以分两步完成(尽管另一个答案有一个更直接的解决方案,但出于学习目的,我将其包括在内):

#1连接每一行:

谢谢你的帮助。什么是
函数(x)
呢?看看
?应用
<代码>函数(x)
是一个函数,它将数据帧的一行作为输入向量,打印括号中的值,并引用第三个元素。是的,我理解。但是
function(x)
jsut是虚拟的吗?!为什么不使用
paste()
函数而不是
函数(x)
?因为类似
apply(temp,1,paste0)
的东西不允许您区分
paste0
所采用的向量中的不同元素。在自定义函数中包装paste0时,这就成为可能。啊,现在我明白了。谢谢是的,它的工作原理非常不同,我刚刚开始学习R。然而,我把
apply()
函数弄得一团糟,但我不知道该填充哪个函数。。。您(与之前的编写者一样)使用了
函数(x)
。这是什么?
函数(x)
是一个lambda函数或匿名函数,仅在执行该行时存在。
`test <- rbind(temp)` 
for(i in temp) {
        print(temp[,])
        print(paste("[", temp[,],  "]", sep = ","))
}
cat(apply(temp, 1, function(x)paste0('[', x[1], ' ',  x[2], ' "', x[3], '"]', '\n')), sep='', file='myile.txt')
#1 concatenate each row:
rows <- apply(temp, 1, function(x) paste0('[', x[1], ' ',  x[2], ' "', x[3], '"]'))
#2 write rows to file
writeLines(rows, con="myile.txt')